-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Low-level low-overhead vulkan api bindings -- -- Haskell bindings for vulkan api as described in vk.xml. -- -- You can find some simple examples at vulkan-examples page or a -- more complete triangle rendering program at vulkan-triangles -- page. -- -- For further information, please refer to README.md. @package vulkan-api @version 1.4.0.0 -- | This module is not part of auto-generated code based on vk.xml. -- Instead, it is hand-written to provide common types and classes. -- -- DANGER! This is an internal module; it can change a lot between -- package versions; it provides low-level functions, most of which have -- user-friendly analogues. module Graphics.Vulkan.Marshal.Internal -- | Internal representation of all Vulkan structures: a pinned byte array -- and an address pointing to an area in this array. data VkStruct a VkStruct :: Addr# -> ByteArray# -> VkStruct a -- | Get address of vulkan structure. Note, the address is only valid as -- long as a given vulkan structure exists. Structures created with -- newVkData are stored in pinned byte arrays, so their memory is -- maintained by Haskell GC. [unsafeAddr] :: VkStruct a -> Addr# -- | Get a ByteArray# that keeps the data. -- -- Note, the data structure does not necessarily starts at zero offset. [unsafeByteArray] :: VkStruct a -> ByteArray# -- | Combine a vulkan structure from ByteArray and an offset in this array. unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkStruct a -- | All Vulkan structures are stored as-is in byte arrays to avoid any -- overheads for wrapping and unwrapping haskell values. VulkanMarshal -- provides an interfaces to write and read these structures in an -- imperative way. class (VulkanStruct (StructRep a), IsVkStruct a) => VulkanMarshal a where { type family StructRep a :: StructMeta; } -- | Allocate a pinned aligned byte array to keep vulkan data structure and -- fill it using a foreign function. -- -- Note, the function is supposed to use -- newAlignedPinnedByteArray# and does not guarantee to fill -- memory with zeroes. Use clearStorable to make sure all bytes -- are set to zero. -- -- Note, the memory is managed by GHC, thus no need for freeing it -- manually. newVkData :: forall a. VulkanMarshal a => (Ptr a -> IO ()) -> IO a -- | Allocate a pinned aligned byte array to keep vulkan data structure. -- -- Note, the function is supposed to use -- newAlignedPinnedByteArray# and does not guarantee to fill -- memory with zeroes. Use clearStorable to make sure all bytes -- are set to zero. -- -- Note, the memory is managed by GHC, thus no need for freeing it -- manually. mallocVkData :: forall a. VulkanMarshal a => IO a -- | Allocate a pinned aligned byte array to keep vulkan data structures. -- Returned `Ptr a` points to the first element in the contiguous array -- of returned structures. Returned list elements point to the same -- memory area. This function is unsafe in two ways: -- -- -- -- Note, the function is supposed to use -- newAlignedPinnedByteArray# and does not guarantee to fill -- memory with zeroes. Use clearStorable to make sure all bytes -- are set to zero. -- -- Note, the memory is managed by GHC, thus no need for freeing it -- manually. mallocVkDataArray :: forall a. VulkanMarshal a => Int -> IO (Ptr a, [a]) -- | Get pointer to vulkan structure. Note, the address is only valid as -- long as a given vulkan structure exists. Structures created with -- newVkData are stored in pinned byte arrays, so their memory is -- maintained by Haskell GC. unsafePtr :: IsVkStruct a => a -> Ptr a -- | Get vulkan structure referenced by a ForeignPtr trying to avoid -- copying data. -- -- This function does copy data if called on an unmanaged -- ForeignPtr (i.e. one created from ordinary Ptr using -- something like newForeignPtr.). -- -- This function does not copy data if called on a managed -- ForeignPtr (i.e. one created using mallocForeignPtr, -- or toForeignPtr, or toPlainForeignPtr). -- -- Note, fromForeignPtr does not copy finalizers of -- ForeignPtr. Thus, if all references to original -- ForeignPtr are lost, its attached finalizers may run even if -- the created structure is alive. fromForeignPtr :: forall a. VulkanMarshal a => ForeignPtr a -> IO a -- | Create a ForeignPtr referencing the structure without copying -- data. toForeignPtr :: IsVkStruct a => a -> IO (ForeignPtr a) -- | Create a ForeignPtr referencing the structure without copying -- data. This version of a pointer carries no finalizers. -- -- It is not possible to add a finalizer to a ForeignPtr created with -- toPlainForeignPtr. Attempts to add a finalizer to a -- ForeignPtr created this way, or to finalize such a pointer, will throw -- an exception. toPlainForeignPtr :: IsVkStruct a => a -> IO (ForeignPtr a) -- | Make sure this data is alive at a given point in a sequence of IO -- actions. touchVkData :: IsVkStruct a => a -> IO () -- | Descriptions of all fields of a vulkan struct type StructFields a = SFields (StructRep a) -- | Whether this type is a C union. Otherwise this is a C structure. type CUnionType a = SIsUnion (StructRep a) -- | Notes that this struct or union is going to be filled in by the API, -- rather than an application filling it out and passing it to the API. type ReturnedOnly a = SIsReturnedOnly (StructRep a) -- | Comma-separated list of structures whose "pNext" can include this -- type. type StructExtends a = SStructExtends (StructRep a) type StructFieldNames (a :: Type) = FieldNames (StructFields a) -- | A Constraint: a vulkan struct must have a field with a given name. type HasField (fname :: Symbol) (a :: Type) = (VulkanMarshal a, VulkanField (FieldRep fname a)) -- | Type-level description of a Vulkan structure field. type FieldRep (fname :: Symbol) (a :: Type) = GetFieldMeta (ErrorNoSuchField fname a) fname (StructFields a) -- | Type of a field in a vulkan structure or union. type FieldType (fname :: Symbol) (a :: Type) = FType (FieldRep fname a) -- | Whether this field marked optional in vulkan specification. Usually, -- this means that VK_NULL can be written in place of this -- field. type FieldOptional (fname :: Symbol) (a :: Type) = FOptional (FieldRep fname a) -- | Offset of a field in bytes. type FieldOffset (fname :: Symbol) (a :: Type) = FByteOffset (FieldRep fname a) -- | Whether this field is a fixed-length array stored directly in a -- struct. type FieldIsArray (fname :: Symbol) (a :: Type) = IsArrayLen (FLength (FieldRep fname a)) -- | Length of an array that is a field of a structure or union type FieldArrayLength (fname :: Symbol) (a :: Type) = FLength (FieldRep fname a) type CanReadField (fname :: Symbol) (a :: Type) = (HasField fname a, IsTrue (ErrorNotReadableField fname a) (FCanRead (FieldRep fname a)), Storable (FieldType fname a)) type CanWriteField (fname :: Symbol) (a :: Type) = (HasField fname a, IsTrue (ErrorNotWritableField fname a) (FCanWrite (FieldRep fname a)), Storable (FieldType fname a)) type CanReadFieldArray (fname :: Symbol) (a :: Type) = CanReadField fname a type CanWriteFieldArray (fname :: Symbol) (a :: Type) = CanWriteField fname a -- | Whether this field marked optional in vulkan specification. Usually, -- this means that VK_NULL can be written in place of this -- field. fieldOptional :: forall (fname :: Symbol) (a :: Type). HasField fname a => Bool -- | Offset of a field in bytes. fieldOffset :: forall (fname :: Symbol) (a :: Type). HasField fname a => Int -- | Length of an array that is a field of a structure or union. -- -- Returns 1 if this field is not an array. fieldArrayLength :: forall (fname :: Symbol) (a :: Type). HasField fname a => Int getField :: forall (fname :: Symbol) (a :: Type). CanReadField fname a => a -> FieldType fname a readField :: forall (fname :: Symbol) (a :: Type). CanReadField fname a => Ptr a -> IO (FieldType fname a) writeField :: forall (fname :: Symbol) (a :: Type). CanWriteField fname a => Ptr a -> FieldType fname a -> IO () -- | Index an array-type field. No bound checks. getFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type). CanReadFieldArray fname a => Int -> a -> FieldType fname a -- | Read from an array-type field. No bound checks. readFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type). CanReadFieldArray fname a => Int -> Ptr a -> IO (FieldType fname a) -- | Write to an array-type field. No bound checks. writeFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type). CanWriteFieldArray fname a => Int -> Ptr a -> FieldType fname a -> IO () getFieldArray :: forall fname idx a. (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx) => a -> FieldType fname a readFieldArray :: forall fname idx a. (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx) => Ptr a -> IO (FieldType fname a) writeFieldArray :: forall fname idx a. (CanWriteFieldArray fname a, IndexInBounds fname idx a, KnownNat idx) => Ptr a -> FieldType fname a -> IO () type IndexInBounds (s :: Symbol) (i :: Nat) (a :: Type) = IndexInBounds' s i a (CmpNat i (FieldArrayLength s a)) class VulkanFields (SFields m) => VulkanStruct (m :: StructMeta) where { type family SName m :: Symbol; type family SType m :: Type; type family SSize m :: Nat; type family SAlign m :: Nat; type family SFields m :: [FieldMeta]; type family SIsUnion m :: Bool; type family SIsReturnedOnly m :: Bool; type family SStructExtends m :: [Type]; } sName :: VulkanStruct m => String sSize :: VulkanStruct m => Int sAlign :: VulkanStruct m => Int sIsUnion :: VulkanStruct m => Bool sIsReturnedOnly :: VulkanStruct m => Bool class (Show (FType m), Storable (FType m)) => VulkanField (m :: FieldMeta) where { type family FName m :: Symbol; type family FType m :: Type; type family FOptional m :: Bool; type family FByteOffset m :: Nat; type family FLength m :: Nat; type family FCanRead m :: Bool; type family FCanWrite m :: Bool; } fName :: VulkanField m => String fOptional :: VulkanField m => Bool fByteOffset :: VulkanField m => Int fLength :: VulkanField m => Int fCanRead :: VulkanField m => Bool fCanWrite :: VulkanField m => Bool class VulkanFields (ms :: [FieldMeta]) withField :: forall (fname :: Symbol) (r :: Type) (errMsg :: ErrorMessage). (VulkanFields ms, KnownSymbol fname) => Proxy# fname -> Proxy# errMsg -> (VulkanField (GetFieldMeta errMsg fname ms) => r) -> r enumerateFields :: forall (a :: Type). VulkanFields ms => (forall (m :: FieldMeta). VulkanField m => Proxy# m -> a -> a) -> a -> a -- | This class give a term-level boolean associated with a type-level -- boolean. -- -- The same as KnownNat for integers. class KnownBool (b :: Bool) boolSing :: KnownBool b => Bool -- | FieldMeta fieldName fieldType optional byteOffset length canRead -- canWrite represents a Vulkan structure field at the type level. data FieldMeta FieldMeta :: Symbol -> Type -> Bool -> Nat -> Nat -> Bool -> Bool -> FieldMeta -- | StructMeta structName structType size alignment fields isUnion -- isReturnedOnly structExtends represents a Vulkan structure at the -- type level. data StructMeta StructMeta :: Symbol -> Type -> Nat -> Nat -> [FieldMeta] -> Bool -> Bool -> [Type] -> StructMeta -- | Perform an action on a C string field. The string pointers should not -- be used outside the callback. It will point to a correct location only -- as long as the struct is alive. withCStringField :: forall fname a b. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> (CString -> IO b) -> IO b -- | Get pointer to a memory location of the C string field in a structure. unsafeCStringField :: forall fname a. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> CString getStringField :: forall fname a. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> String readStringField :: forall fname a. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => Ptr a -> IO String writeStringField :: forall fname a. (CanWriteFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => Ptr a -> String -> IO () -- | Check first if two CString point to the same memory location. -- Otherwise, compare them using C strcmp function. cmpCStrings :: CString -> CString -> Ordering -- | Check first if two CString point to the same memory location. -- Otherwise, compare them using C strncmp function. It may be -- useful to provide maximum number of characters to compare. cmpCStringsN :: CString -> CString -> Int -> Ordering instance Graphics.Vulkan.Marshal.Internal.VulkanMarshal (Graphics.Vulkan.Marshal.Internal.VkStruct a) => GHC.Show.Show (Graphics.Vulkan.Marshal.Internal.VkStruct a) instance Graphics.Vulkan.Marshal.Internal.VulkanMarshal (Graphics.Vulkan.Marshal.Internal.VkStruct a) => GHC.Classes.Eq (Graphics.Vulkan.Marshal.Internal.VkStruct a) instance Graphics.Vulkan.Marshal.Internal.VulkanMarshal (Graphics.Vulkan.Marshal.Internal.VkStruct a) => GHC.Classes.Ord (Graphics.Vulkan.Marshal.Internal.VkStruct a) instance Graphics.Vulkan.Marshal.Internal.VulkanMarshal (Graphics.Vulkan.Marshal.Internal.VkStruct a) => Foreign.Storable.Storable (Graphics.Vulkan.Marshal.Internal.VkStruct a) instance (GHC.TypeLits.KnownSymbol structName, GHC.TypeNats.KnownNat size, GHC.TypeNats.KnownNat alignment, Graphics.Vulkan.Marshal.Internal.VulkanFields fields, Graphics.Vulkan.Marshal.Internal.KnownBool isUnion, Graphics.Vulkan.Marshal.Internal.KnownBool isReturnedOnly) => Graphics.Vulkan.Marshal.Internal.VulkanStruct ('Graphics.Vulkan.Marshal.Internal.StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) instance Graphics.Vulkan.Marshal.Internal.VulkanFields '[] instance (Graphics.Vulkan.Marshal.Internal.VulkanField m, Graphics.Vulkan.Marshal.Internal.VulkanFields ms) => Graphics.Vulkan.Marshal.Internal.VulkanFields (m : ms) instance (GHC.TypeLits.KnownSymbol fieldName, GHC.Show.Show t, Foreign.Storable.Storable t, Graphics.Vulkan.Marshal.Internal.KnownBool optional, GHC.TypeNats.KnownNat byteOffset, GHC.TypeNats.KnownNat length, Graphics.Vulkan.Marshal.Internal.KnownBool canRead, Graphics.Vulkan.Marshal.Internal.KnownBool canWrite) => Graphics.Vulkan.Marshal.Internal.VulkanField ('Graphics.Vulkan.Marshal.Internal.FieldMeta fieldName t optional byteOffset length canRead canWrite) instance Graphics.Vulkan.Marshal.Internal.KnownBool 'GHC.Types.True instance Graphics.Vulkan.Marshal.Internal.KnownBool 'GHC.Types.False -- | This module is not part of auto-generated code based on vk.xml. -- Instead, it is hand-written to provide common types and classes. module Graphics.Vulkan.Marshal -- | Distinguish single bits and bitmasks in vulkan flags data FlagType FlagMask :: FlagType FlagBit :: FlagType -- | Vulkan flags type that can have multiple bits set. type FlagMask = 'FlagMask -- | Vulkan single bit flag value. type FlagBit = 'FlagBit -- | Convert a single bit (XxxBits) to a bitmask -- (XxxFlags) bitToMask :: Coercible (x FlagBit) (x FlagMask) => x FlagBit -> x FlagMask -- | List all set bits of a bitmask (XxxFlags) in the increasing -- order. maskToBits :: (Bits (x FlagMask), Coercible (x FlagBit) (x FlagMask)) => x FlagMask -> [x FlagBit] -- | All Vulkan structures are stored as-is in byte arrays to avoid any -- overheads for wrapping and unwrapping haskell values. VulkanMarshal -- provides an interfaces to write and read these structures in an -- imperative way. class (VulkanStruct (StructRep a), IsVkStruct a) => VulkanMarshal a where { type family StructRep a :: StructMeta; } -- | Allocate a pinned aligned byte array to keep vulkan data structure and -- fill it using a foreign function. -- -- Note, the function is supposed to use -- newAlignedPinnedByteArray# and does not guarantee to fill -- memory with zeroes. Use clearStorable to make sure all bytes -- are set to zero. -- -- Note, the memory is managed by GHC, thus no need for freeing it -- manually. newVkData :: forall a. VulkanMarshal a => (Ptr a -> IO ()) -> IO a -- | Allocate a pinned aligned byte array to keep vulkan data structure. -- -- Note, the function is supposed to use -- newAlignedPinnedByteArray# and does not guarantee to fill -- memory with zeroes. Use clearStorable to make sure all bytes -- are set to zero. -- -- Note, the memory is managed by GHC, thus no need for freeing it -- manually. mallocVkData :: forall a. VulkanMarshal a => IO a -- | Allocate a pinned aligned byte array to keep vulkan data structures. -- Returned `Ptr a` points to the first element in the contiguous array -- of returned structures. Returned list elements point to the same -- memory area. This function is unsafe in two ways: -- -- -- -- Note, the function is supposed to use -- newAlignedPinnedByteArray# and does not guarantee to fill -- memory with zeroes. Use clearStorable to make sure all bytes -- are set to zero. -- -- Note, the memory is managed by GHC, thus no need for freeing it -- manually. mallocVkDataArray :: forall a. VulkanMarshal a => Int -> IO (Ptr a, [a]) -- | Get pointer to vulkan structure. Note, the address is only valid as -- long as a given vulkan structure exists. Structures created with -- newVkData are stored in pinned byte arrays, so their memory is -- maintained by Haskell GC. unsafePtr :: IsVkStruct a => a -> Ptr a -- | Get vulkan structure referenced by a ForeignPtr trying to avoid -- copying data. -- -- This function does copy data if called on an unmanaged -- ForeignPtr (i.e. one created from ordinary Ptr using -- something like newForeignPtr.). -- -- This function does not copy data if called on a managed -- ForeignPtr (i.e. one created using mallocForeignPtr, -- or toForeignPtr, or toPlainForeignPtr). -- -- Note, fromForeignPtr does not copy finalizers of -- ForeignPtr. Thus, if all references to original -- ForeignPtr are lost, its attached finalizers may run even if -- the created structure is alive. fromForeignPtr :: forall a. VulkanMarshal a => ForeignPtr a -> IO a -- | Create a ForeignPtr referencing the structure without copying -- data. toForeignPtr :: IsVkStruct a => a -> IO (ForeignPtr a) -- | Create a ForeignPtr referencing the structure without copying -- data. This version of a pointer carries no finalizers. -- -- It is not possible to add a finalizer to a ForeignPtr created with -- toPlainForeignPtr. Attempts to add a finalizer to a -- ForeignPtr created this way, or to finalize such a pointer, will throw -- an exception. toPlainForeignPtr :: IsVkStruct a => a -> IO (ForeignPtr a) -- | Make sure this data is alive at a given point in a sequence of IO -- actions. touchVkData :: IsVkStruct a => a -> IO () -- | Unify dispatchable and non-dispatchable vulkan pointer types. -- -- Dispatchable handles are represented as Ptr. -- -- Non-dispatchable handles are represented as VkPtr. class VulkanPtr ptr vkNullPtr :: VulkanPtr ptr => ptr a -- |
VK_DEFINE_NON_DISPATCHABLE_HANDLE
-- -- Non-dispatchable handles are represented as VkPtr -- -- Represented as Word64 -- --
--   #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
--   #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
--           #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
--   #else
--           #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
--   #endif
--   #endif
--   
newtype VkPtr a VkPtr :: Word64 -> VkPtr a -- | A synonym for zeroBits pattern VK_ZERO_FLAGS :: Bits a => a -- |
--   #define VK_NULL_HANDLE 0
--   
pattern VK_NULL_HANDLE :: (Eq (ptr a), VulkanPtr ptr) => ptr a -- | Null pointer (either dispatchable or non-dispatchable) pattern VK_NULL :: (Eq (ptr a), VulkanPtr ptr) => ptr a -- | Fill all bytes to zero getting data size from Storable -- instance. clearStorable :: Storable a => Ptr a -> IO () -- | Run some operation with a pointer to vulkan structure. -- -- Should be used with care: the structure pretends to be immutable, so -- it is better to only read from the pointed memory area, not to write. -- If an action needs to write something to the pointer, use -- newVkData. withPtr :: VulkanMarshal a => a -> (Ptr a -> IO b) -> IO b -- | Descriptions of all fields of a vulkan struct type StructFields a = SFields (StructRep a) -- | Whether this type is a C union. Otherwise this is a C structure. type CUnionType a = SIsUnion (StructRep a) -- | Notes that this struct or union is going to be filled in by the API, -- rather than an application filling it out and passing it to the API. type ReturnedOnly a = SIsReturnedOnly (StructRep a) -- | Comma-separated list of structures whose "pNext" can include this -- type. type StructExtends a = SStructExtends (StructRep a) type StructFieldNames (a :: Type) = FieldNames (StructFields a) -- | A Constraint: a vulkan struct must have a field with a given name. type HasField (fname :: Symbol) (a :: Type) = (VulkanMarshal a, VulkanField (FieldRep fname a)) -- | Type-level description of a Vulkan structure field. type FieldRep (fname :: Symbol) (a :: Type) = GetFieldMeta (ErrorNoSuchField fname a) fname (StructFields a) -- | Type of a field in a vulkan structure or union. type FieldType (fname :: Symbol) (a :: Type) = FType (FieldRep fname a) -- | Whether this field marked optional in vulkan specification. Usually, -- this means that VK_NULL can be written in place of this -- field. type FieldOptional (fname :: Symbol) (a :: Type) = FOptional (FieldRep fname a) -- | Offset of a field in bytes. type FieldOffset (fname :: Symbol) (a :: Type) = FByteOffset (FieldRep fname a) -- | Whether this field is a fixed-length array stored directly in a -- struct. type FieldIsArray (fname :: Symbol) (a :: Type) = IsArrayLen (FLength (FieldRep fname a)) -- | Length of an array that is a field of a structure or union type FieldArrayLength (fname :: Symbol) (a :: Type) = FLength (FieldRep fname a) type CanReadField (fname :: Symbol) (a :: Type) = (HasField fname a, IsTrue (ErrorNotReadableField fname a) (FCanRead (FieldRep fname a)), Storable (FieldType fname a)) type CanWriteField (fname :: Symbol) (a :: Type) = (HasField fname a, IsTrue (ErrorNotWritableField fname a) (FCanWrite (FieldRep fname a)), Storable (FieldType fname a)) type CanReadFieldArray (fname :: Symbol) (a :: Type) = CanReadField fname a type CanWriteFieldArray (fname :: Symbol) (a :: Type) = CanWriteField fname a -- | Whether this field marked optional in vulkan specification. Usually, -- this means that VK_NULL can be written in place of this -- field. fieldOptional :: forall (fname :: Symbol) (a :: Type). HasField fname a => Bool -- | Offset of a field in bytes. fieldOffset :: forall (fname :: Symbol) (a :: Type). HasField fname a => Int -- | Length of an array that is a field of a structure or union. -- -- Returns 1 if this field is not an array. fieldArrayLength :: forall (fname :: Symbol) (a :: Type). HasField fname a => Int getField :: forall (fname :: Symbol) (a :: Type). CanReadField fname a => a -> FieldType fname a readField :: forall (fname :: Symbol) (a :: Type). CanReadField fname a => Ptr a -> IO (FieldType fname a) writeField :: forall (fname :: Symbol) (a :: Type). CanWriteField fname a => Ptr a -> FieldType fname a -> IO () -- | Index an array-type field. No bound checks. getFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type). CanReadFieldArray fname a => Int -> a -> FieldType fname a -- | Read from an array-type field. No bound checks. readFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type). CanReadFieldArray fname a => Int -> Ptr a -> IO (FieldType fname a) -- | Write to an array-type field. No bound checks. writeFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type). CanWriteFieldArray fname a => Int -> Ptr a -> FieldType fname a -> IO () getFieldArray :: forall fname idx a. (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx) => a -> FieldType fname a readFieldArray :: forall fname idx a. (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx) => Ptr a -> IO (FieldType fname a) writeFieldArray :: forall fname idx a. (CanWriteFieldArray fname a, IndexInBounds fname idx a, KnownNat idx) => Ptr a -> FieldType fname a -> IO () type IndexInBounds (s :: Symbol) (i :: Nat) (a :: Type) = IndexInBounds' s i a (CmpNat i (FieldArrayLength s a)) class VulkanFields (SFields m) => VulkanStruct (m :: StructMeta) where { type family SName m :: Symbol; type family SType m :: Type; type family SSize m :: Nat; type family SAlign m :: Nat; type family SFields m :: [FieldMeta]; type family SIsUnion m :: Bool; type family SIsReturnedOnly m :: Bool; type family SStructExtends m :: [Type]; } sName :: VulkanStruct m => String sSize :: VulkanStruct m => Int sAlign :: VulkanStruct m => Int sIsUnion :: VulkanStruct m => Bool sIsReturnedOnly :: VulkanStruct m => Bool class (Show (FType m), Storable (FType m)) => VulkanField (m :: FieldMeta) where { type family FName m :: Symbol; type family FType m :: Type; type family FOptional m :: Bool; type family FByteOffset m :: Nat; type family FLength m :: Nat; type family FCanRead m :: Bool; type family FCanWrite m :: Bool; } fName :: VulkanField m => String fOptional :: VulkanField m => Bool fByteOffset :: VulkanField m => Int fLength :: VulkanField m => Int fCanRead :: VulkanField m => Bool fCanWrite :: VulkanField m => Bool class VulkanFields (ms :: [FieldMeta]) withField :: forall (fname :: Symbol) (r :: Type) (errMsg :: ErrorMessage). (VulkanFields ms, KnownSymbol fname) => Proxy# fname -> Proxy# errMsg -> (VulkanField (GetFieldMeta errMsg fname ms) => r) -> r enumerateFields :: forall (a :: Type). VulkanFields ms => (forall (m :: FieldMeta). VulkanField m => Proxy# m -> a -> a) -> a -> a -- | This class give a term-level boolean associated with a type-level -- boolean. -- -- The same as KnownNat for integers. class KnownBool (b :: Bool) boolSing :: KnownBool b => Bool -- | FieldMeta fieldName fieldType optional byteOffset length canRead -- canWrite represents a Vulkan structure field at the type level. data FieldMeta FieldMeta :: Symbol -> Type -> Bool -> Nat -> Nat -> Bool -> Bool -> FieldMeta -- | StructMeta structName structType size alignment fields isUnion -- isReturnedOnly structExtends represents a Vulkan structure at the -- type level. data StructMeta StructMeta :: Symbol -> Type -> Nat -> Nat -> [FieldMeta] -> Bool -> Bool -> [Type] -> StructMeta -- | Allocate some memory and return a ForeignPtr to it. The memory -- will be released automatically when the ForeignPtr is -- discarded. -- -- mallocForeignPtr is equivalent to -- --
--   do { p <- malloc; newForeignPtr finalizerFree p }
--   
-- -- although it may be implemented differently internally: you may not -- assume that the memory returned by mallocForeignPtr has been -- allocated with malloc. -- -- GHC notes: mallocForeignPtr has a heavily optimised -- implementation in GHC. It uses pinned memory in the garbage collected -- heap, so the ForeignPtr does not require a finalizer to free -- the memory. Use of mallocForeignPtr and associated functions is -- strongly recommended in preference to newForeignPtr with a -- finalizer. mallocForeignPtr :: Storable a => IO (ForeignPtr a) -- | This is a way to look at the pointer living inside a foreign object. -- This function takes a function which is applied to that pointer. The -- resulting IO action is then executed. The foreign object is -- kept alive at least during the whole action, even if it is not used -- directly inside. Note that it is not safe to return the pointer from -- the action and use it after the action completes. All uses of the -- pointer should be inside the withForeignPtr bracket. The reason -- for this unsafeness is the same as for unsafeForeignPtrToPtr -- below: the finalizer may run earlier than expected, because the -- compiler can only track usage of the ForeignPtr object, not a -- Ptr object made from it. -- -- This function is normally used for marshalling data to or from the -- object pointed to by the ForeignPtr, using the operations from -- the Storable class. withForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b -- | This function adds a finalizer to the given foreign object. The -- finalizer will run before all other finalizers for the same -- object which have already been registered. addForeignPtrFinalizer :: FinalizerPtr a -> ForeignPtr a -> IO () -- | 8-bit signed integer type data Int8 -- | 16-bit signed integer type data Int16 -- | 32-bit signed integer type data Int32 -- | 64-bit signed integer type data Int64 -- | 8-bit unsigned integer type data Word8 -- | 16-bit unsigned integer type data Word16 -- | 32-bit unsigned integer type data Word32 -- | 64-bit unsigned integer type data Word64 -- | A value of type Ptr a represents a pointer to an -- object, or an array of objects, which may be marshalled to or from -- Haskell values of type a. -- -- The type a will often be an instance of class Storable -- which provides the marshalling operations. However this is not -- essential, and you can provide your own operations to access the -- pointer. For example you might write small foreign functions to get or -- set the fields of a C struct. data Ptr a -- | A value of type FunPtr a is a pointer to a function -- callable from foreign code. The type a will normally be a -- foreign type, a function type with zero or more arguments where -- -- -- -- A value of type FunPtr a may be a pointer to a foreign -- function, either returned by another foreign function or imported with -- a a static address import like -- --
--   foreign import ccall "stdlib.h &free"
--     p_free :: FunPtr (Ptr a -> IO ())
--   
-- -- or a pointer to a Haskell function created using a wrapper stub -- declared to produce a FunPtr of the correct type. For example: -- --
--   type Compare = Int -> Int -> Bool
--   foreign import ccall "wrapper"
--     mkCompare :: Compare -> IO (FunPtr Compare)
--   
-- -- Calls to wrapper stubs like mkCompare allocate storage, which -- should be released with freeHaskellFunPtr when no longer -- required. -- -- To convert FunPtr values to corresponding Haskell functions, -- one can define a dynamic stub for the specific foreign type, -- e.g. -- --
--   type IntFunction = CInt -> IO ()
--   foreign import ccall "dynamic"
--     mkFun :: FunPtr IntFunction -> IntFunction
--   
data FunPtr a -- | Uninhabited data type data Void -- | A C string is a reference to an array of C characters terminated by -- NUL. type CString = Ptr CChar -- | Haskell type representing the C int type. (The concrete -- types of Foreign.C.Types#platform are platform-specific.) newtype CInt CInt :: Int32 -> CInt -- | Haskell type representing the C size_t type. (The concrete -- types of Foreign.C.Types#platform are platform-specific.) newtype CSize CSize :: Word64 -> CSize -- | Haskell type representing the C char type. (The concrete -- types of Foreign.C.Types#platform are platform-specific.) newtype CChar CChar :: Int8 -> CChar -- | Haskell type representing the C wchar_t type. (The -- concrete types of Foreign.C.Types#platform are -- platform-specific.) newtype CWchar CWchar :: Int32 -> CWchar -- | Haskell type representing the C unsigned long type. (The -- concrete types of Foreign.C.Types#platform are -- platform-specific.) newtype CULong CULong :: Word64 -> CULong -- | Perform an action on a C string field. The string pointers should not -- be used outside the callback. It will point to a correct location only -- as long as the struct is alive. withCStringField :: forall fname a b. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> (CString -> IO b) -> IO b -- | Get pointer to a memory location of the C string field in a structure. unsafeCStringField :: forall fname a. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> CString getStringField :: forall fname a. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> String readStringField :: forall fname a. (CanReadFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => Ptr a -> IO String writeStringField :: forall fname a. (CanWriteFieldArray fname a, FieldType fname a ~ CChar, VulkanMarshal a) => Ptr a -> String -> IO () -- | Check first if two CString point to the same memory location. -- Otherwise, compare them using C strcmp function. cmpCStrings :: CString -> CString -> Ordering -- | Check first if two CString point to the same memory location. -- Otherwise, compare them using C strncmp function. It may be -- useful to provide maximum number of characters to compare. cmpCStringsN :: CString -> CString -> Int -> Ordering instance Foreign.Storable.Storable (Graphics.Vulkan.Marshal.VkPtr a) instance GHC.Show.Show (Graphics.Vulkan.Marshal.VkPtr a) instance GHC.Classes.Ord (Graphics.Vulkan.Marshal.VkPtr a) instance GHC.Classes.Eq (Graphics.Vulkan.Marshal.VkPtr a) instance Graphics.Vulkan.Marshal.VulkanPtr GHC.Ptr.Ptr instance Graphics.Vulkan.Marshal.VulkanPtr Graphics.Vulkan.Marshal.VkPtr module Graphics.Vulkan.Ext.VK_NV_viewport_array2 type VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 pattern VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" pattern VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_NV_sample_mask_override_coverage type VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1 pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME = "VK_NV_sample_mask_override_coverage" pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_NV_geometry_shader_passthrough type VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1 pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_passthrough" pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class type VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1 pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME = "VK_KHR_storage_buffer_storage_class" pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_KHR_spirv_1_4 type VK_KHR_SPIRV_1_4_SPEC_VERSION = 1 pattern VK_KHR_SPIRV_1_4_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SPIRV_1_4_EXTENSION_NAME = "VK_KHR_spirv_1_4" pattern VK_KHR_SPIRV_1_4_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_KHR_shader_non_semantic_info type VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 pattern VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" pattern VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_KHR_shader_draw_parameters type VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1 pattern VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_parameters" pattern VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_KHR_relaxed_block_layout type VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1 pattern VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME = "VK_KHR_relaxed_block_layout" pattern VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_GOOGLE_user_type type VK_GOOGLE_USER_TYPE_SPEC_VERSION = 1 pattern VK_GOOGLE_USER_TYPE_SPEC_VERSION :: (Num a, Eq a) => a type VK_GOOGLE_USER_TYPE_EXTENSION_NAME = "VK_GOOGLE_user_type" pattern VK_GOOGLE_USER_TYPE_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_GOOGLE_hlsl_functionality1 type VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 pattern VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION :: (Num a, Eq a) => a type VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" pattern VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_GOOGLE_decorate_string type VK_GOOGLE_DECORATE_STRING_SPEC_VERSION = 1 pattern VK_GOOGLE_DECORATE_STRING_SPEC_VERSION :: (Num a, Eq a) => a type VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME = "VK_GOOGLE_decorate_string" pattern VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer type VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1 pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME = "VK_EXT_shader_viewport_index_layer" pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_vote type VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1 pattern VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME = "VK_EXT_shader_subgroup_vote" pattern VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_ballot type VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1 pattern VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME = "VK_EXT_shader_subgroup_ballot" pattern VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_EXT_shader_stencil_export type VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1 pattern VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME = "VK_EXT_shader_stencil_export" pattern VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_EXT_post_depth_coverage type VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1 pattern VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" pattern VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_EXT_depth_range_unrestricted type VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1 pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME = "VK_EXT_depth_range_unrestricted" pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_shader_trinary_minmax type VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1 pattern VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME = "VK_AMD_shader_trinary_minmax" pattern VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_shader_image_load_store_lod type VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1 pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME = "VK_AMD_shader_image_load_store_lod" pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_shader_fragment_mask type VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1 pattern VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME = "VK_AMD_shader_fragment_mask" pattern VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_shader_explicit_vertex_parameter type VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1 pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME = "VK_AMD_shader_explicit_vertex_parameter" pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_shader_ballot type VK_AMD_SHADER_BALLOT_SPEC_VERSION = 1 pattern VK_AMD_SHADER_BALLOT_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_BALLOT_EXTENSION_NAME = "VK_AMD_shader_ballot" pattern VK_AMD_SHADER_BALLOT_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_negative_viewport_height type VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1 pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME = "VK_AMD_negative_viewport_height" pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_mixed_attachment_samples type VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1 pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME = "VK_AMD_mixed_attachment_samples" pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16 type VK_AMD_GPU_SHADER_INT16_SPEC_VERSION = 2 pattern VK_AMD_GPU_SHADER_INT16_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME = "VK_AMD_gpu_shader_int16" pattern VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_half_float type VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 2 pattern VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME = "VK_AMD_gpu_shader_half_float" pattern VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME :: CString module Graphics.Vulkan.Ext.VK_AMD_gcn_shader type VK_AMD_GCN_SHADER_SPEC_VERSION = 1 pattern VK_AMD_GCN_SHADER_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_GCN_SHADER_EXTENSION_NAME = "VK_AMD_gcn_shader" pattern VK_AMD_GCN_SHADER_EXTENSION_NAME :: CString module Graphics.Vulkan.Constants type VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256 pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE :: (Num a, Eq a) => a type VK_UUID_SIZE = 16 pattern VK_UUID_SIZE :: (Num a, Eq a) => a type VK_LUID_SIZE = 8 pattern VK_LUID_SIZE :: (Num a, Eq a) => a pattern VK_LUID_SIZE_KHR :: (Num a, Eq a) => a type VK_MAX_EXTENSION_NAME_SIZE = 256 pattern VK_MAX_EXTENSION_NAME_SIZE :: (Num a, Eq a) => a type VK_MAX_DESCRIPTION_SIZE = 256 pattern VK_MAX_DESCRIPTION_SIZE :: (Num a, Eq a) => a type VK_MAX_MEMORY_TYPES = 32 pattern VK_MAX_MEMORY_TYPES :: (Num a, Eq a) => a type VK_MAX_MEMORY_HEAPS = 16 -- | The maximum number of unique memory heaps, each of which supporting 1 -- or more memory types pattern VK_MAX_MEMORY_HEAPS :: (Num a, Eq a) => a pattern VK_LOD_CLAMP_NONE :: (Fractional a, Eq a) => a type VK_REMAINING_MIP_LEVELS = 4294967295 pattern VK_REMAINING_MIP_LEVELS :: Word32 type VK_REMAINING_ARRAY_LAYERS = 4294967295 pattern VK_REMAINING_ARRAY_LAYERS :: Word32 type VK_WHOLE_SIZE = 18446744073709551615 pattern VK_WHOLE_SIZE :: Word64 type VK_ATTACHMENT_UNUSED = 4294967295 pattern VK_ATTACHMENT_UNUSED :: Word32 type VK_TRUE = 1 pattern VK_TRUE :: (Num a, Eq a) => a type VK_FALSE = 0 pattern VK_FALSE :: (Num a, Eq a) => a type VK_QUEUE_FAMILY_IGNORED = 4294967295 pattern VK_QUEUE_FAMILY_IGNORED :: Word32 type VK_QUEUE_FAMILY_EXTERNAL = 4294967294 pattern VK_QUEUE_FAMILY_EXTERNAL :: Word32 pattern VK_QUEUE_FAMILY_EXTERNAL_KHR :: Word32 type VK_QUEUE_FAMILY_FOREIGN_EXT = 4294967293 pattern VK_QUEUE_FAMILY_FOREIGN_EXT :: Word32 type VK_SUBPASS_EXTERNAL = 4294967295 pattern VK_SUBPASS_EXTERNAL :: Word32 type VK_MAX_DEVICE_GROUP_SIZE = 32 pattern VK_MAX_DEVICE_GROUP_SIZE :: (Num a, Eq a) => a pattern VK_MAX_DEVICE_GROUP_SIZE_KHR :: (Num a, Eq a) => a type VK_MAX_DRIVER_NAME_SIZE = 256 pattern VK_MAX_DRIVER_NAME_SIZE :: (Num a, Eq a) => a pattern VK_MAX_DRIVER_NAME_SIZE_KHR :: (Num a, Eq a) => a type VK_MAX_DRIVER_INFO_SIZE = 256 pattern VK_MAX_DRIVER_INFO_SIZE :: (Num a, Eq a) => a pattern VK_MAX_DRIVER_INFO_SIZE_KHR :: (Num a, Eq a) => a type VK_SHADER_UNUSED_KHR = 4294967295 pattern VK_SHADER_UNUSED_KHR :: Word32 pattern VK_SHADER_UNUSED_NV :: Word32 module Graphics.Vulkan.Ext.VK_EXT_queue_family_foreign type VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION = 1 pattern VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME = "VK_EXT_queue_family_foreign" pattern VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME :: CString pattern VK_QUEUE_FAMILY_FOREIGN_EXT :: Word32 -- | This module is not part of auto-generated code based on vk.xml. It is -- also not included into Vulkan. It just provides convenient -- helpers for creation of vulkan structures. module Graphics.Vulkan.Marshal.Create -- | Safely fill-in a new vulkan structure data CreateVkStruct x (fs :: [Symbol]) a -- | Create a vulkan structure. -- -- Use smart creation functions like setVk, setStrRef, -- setListRef, etc to keep GC aware of references between -- dependent structures. -- -- createVk produces at most one weak reference to a created -- structure with a set of haskell and C finalizers. These finalizers -- make sure all malloced memory is released and no managed -- memory gets purged too early. createVk :: forall a fs. (VulkanMarshal a, HandleRemFields a fs) => CreateVkStruct a fs () -> a -- | Combine multiple field writes. (&*) :: CreateVkStruct x as () -> CreateVkStruct x bs () -> CreateVkStruct x (Union x as bs) () infixl 1 &* -- | writeField wrapped into CreateVkStruct monad. set :: forall fname x. CanWriteField fname x => FieldType fname x -> CreateVkStruct x '[fname] () -- | writeFieldArray wrapped into CreateVkStruct monad. setAt :: forall fname i x. (CanWriteFieldArray fname x, IndexInBounds fname i x, KnownNat i) => FieldType fname x -> CreateVkStruct x '[fname] () -- | Write fields of a member struct. setVk :: forall fname x afs a. (CanWriteField fname x, a ~ FieldType fname x, VulkanMarshal a, HandleRemFields a afs) => CreateVkStruct a afs () -> CreateVkStruct x '[fname] () -- | Write a pointer to a vulkan structure - member of current structure -- and make sure the member exists as long as this structure exists. -- -- Prefer this function to using unsafePtr a, because the latter -- does not keep the dependency information in GC, which results in -- member structure being garbage-collected and the reference being -- invalid. setVkRef :: forall fname x a. (CanWriteField fname x, FieldType fname x ~ Ptr a, VulkanMarshal a) => a -> CreateVkStruct x '[fname] () -- | Write a String into a vulkan struct in-place. setStr :: forall fname x. (CanWriteFieldArray fname x, FieldType fname x ~ CChar) => String -> CreateVkStruct x '[fname] () -- | Allocate memory for a CString, store it, and write a pointer to it -- into vulkan structure. -- -- This function also attaches a reliable finalizer to the vulkan struct, -- so that the allocated memory is freed when the structure is GCed. setStrRef :: forall fname x. (CanWriteField fname x, FieldType fname x ~ CString) => String -> CreateVkStruct x '[fname] () -- | Allocate memory for an array of elements, store them, and write a -- pointer to the array into vulkan structure. -- -- This function also attaches a reliable finalizer to the vulkan struct, -- so that the array memory is freed when the structure is GCed. -- -- This function writes null pointer if used with an empty list. setStrListRef :: forall fname x. (CanWriteField fname x, FieldType fname x ~ Ptr CString) => [String] -> CreateVkStruct x '[fname] () -- | Equivalent to set on a count field and setStrListRef on -- a corresponding list field, where the count is set to the length of -- the list. setStrListCountAndRef :: forall countfname listfname x. (CanWriteField countfname x, CanWriteField listfname x, FieldType countfname x ~ Word32, FieldType listfname x ~ Ptr CString) => [String] -> CreateVkStruct x (Union x '[countfname] '[listfname]) () -- | Allocate memory for an array of elements, store them, and write a -- pointer to the array into vulkan structure. -- -- This function also attaches a reliable finalizer to the vulkan struct, -- so that the array memory is freed when the structure is GCed. -- -- This function writes null pointer if used with an empty list. setListRef :: forall fname x a. (CanWriteField fname x, FieldType fname x ~ Ptr a, Storable a) => [a] -> CreateVkStruct x '[fname] () -- | Equivalent to set on a count field and setListRef on a -- corresponding list field, where the count is set to the length of the -- list. setListCountAndRef :: forall countfname listfname x a. (CanWriteField countfname x, CanWriteField listfname x, FieldType countfname x ~ Word32, FieldType listfname x ~ Ptr a, Storable a) => [a] -> CreateVkStruct x (Union x '[countfname] '[listfname]) () class SetOptionalFields (x :: Type) (fs :: [Symbol]) setOptionalFields :: SetOptionalFields x fs => CreateVkStruct x fs () -- | Notify user if some required fields are missing and fill in optional -- fields. class CUnionType x ~ isUnion => HandleRemainingFields (x :: Type) (fs :: [Symbol]) (isUnion :: Bool) handleRemFields :: HandleRemainingFields x fs isUnion => CreateVkStruct x fs () -- | Notify user if some required fields are missing. type HandleRemFields x fs = HandleRemainingFields x fs (CUnionType x) -- | Unsafe perform arbitrary IO action with a pointer to data under -- construction. This is used to add more functionality to this monad. unsafeIOCreate :: (Ptr x -> IO a) -> CreateVkStruct x fs a instance (Graphics.Vulkan.Marshal.Create.SetOptionalFields x fs, Graphics.Vulkan.Marshal.Create.FieldMustBeOptional f x, Foreign.Storable.Storable (Graphics.Vulkan.Marshal.Internal.FieldType f x), Graphics.Vulkan.Marshal.Internal.HasField f x) => Graphics.Vulkan.Marshal.Create.SetOptionalFields x (f : fs) instance (Graphics.Vulkan.Marshal.Create.SetOptionalFields x (Graphics.Vulkan.Marshal.Create.Difference (Graphics.Vulkan.Marshal.Internal.StructFieldNames x) fs), Graphics.Vulkan.Marshal.Internal.CUnionType x GHC.Types.~ 'GHC.Types.False) => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x fs 'GHC.Types.False instance Graphics.Vulkan.Marshal.Create.SetOptionalFields x '[] instance ((TypeError ...), Graphics.Vulkan.Marshal.Internal.CUnionType x GHC.Types.~ 'GHC.Types.True) => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x '[] 'GHC.Types.True instance ((TypeError ...), Graphics.Vulkan.Marshal.Internal.CUnionType x GHC.Types.~ 'GHC.Types.True) => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x (a : b : fs) 'GHC.Types.True instance (Graphics.Vulkan.Marshal.Internal.CUnionType x GHC.Types.~ 'GHC.Types.True) => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x '[f] 'GHC.Types.True instance GHC.Base.Functor (Graphics.Vulkan.Marshal.Create.CreateVkStruct x fs) instance GHC.Base.Applicative (Graphics.Vulkan.Marshal.Create.CreateVkStruct x fs) instance GHC.Base.Monad (Graphics.Vulkan.Marshal.Create.CreateVkStruct x fs) module Graphics.Vulkan.Ext.VK_QCOM_render_pass_store_ops type VK_QCOM_render_pass_store_ops_SPEC_VERSION = 2 pattern VK_QCOM_render_pass_store_ops_SPEC_VERSION :: (Num a, Eq a) => a type VK_QCOM_render_pass_store_ops_EXTENSION_NAME = "VK_QCOM_render_pass_store_ops" pattern VK_QCOM_render_pass_store_ops_EXTENSION_NAME :: CString pattern VK_ATTACHMENT_STORE_OP_NONE_QCOM :: VkAttachmentStoreOp module Graphics.Vulkan.Ext.VK_EXT_swapchain_colorspace type VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 4 pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME = "VK_EXT_swapchain_colorspace" pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME :: CString pattern VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_BT709_LINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_BT709_NONLINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_BT2020_LINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_HDR10_ST2084_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_DOLBYVISION_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_HDR10_HLG_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_PASS_THROUGH_EXT :: VkColorSpaceKHR pattern VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: VkColorSpaceKHR -- | Deprecated name for backwards compatibility pattern VK_COLOR_SPACE_DCI_P3_LINEAR_EXT :: VkColorSpaceKHR module Graphics.Vulkan.Ext.VK_EXT_external_memory_dma_buf type VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION = 1 pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME = "VK_EXT_external_memory_dma_buf" pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: CString -- | bitpos = 9 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT :: VkExternalMemoryHandleTypeBitmask a module Graphics.Vulkan.Ext.VK_IMG_format_pvrtc type VK_IMG_FORMAT_PVRTC_SPEC_VERSION = 1 pattern VK_IMG_FORMAT_PVRTC_SPEC_VERSION :: (Num a, Eq a) => a type VK_IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc" pattern VK_IMG_FORMAT_PVRTC_EXTENSION_NAME :: CString pattern VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG :: VkFormat pattern VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG :: VkFormat pattern VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG :: VkFormat pattern VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG :: VkFormat pattern VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG :: VkFormat pattern VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG :: VkFormat pattern VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG :: VkFormat pattern VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG :: VkFormat module Graphics.Vulkan.Ext.VK_IMG_filter_cubic type VK_IMG_FILTER_CUBIC_SPEC_VERSION = 1 pattern VK_IMG_FILTER_CUBIC_SPEC_VERSION :: (Num a, Eq a) => a type VK_IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic" pattern VK_IMG_FILTER_CUBIC_EXTENSION_NAME :: CString pattern VK_FILTER_CUBIC_IMG :: VkFilter -- | Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled -- -- bitpos = 13 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG :: VkFormatFeatureBitmask a module Graphics.Vulkan.Ext.VK_NV_fill_rectangle type VK_NV_FILL_RECTANGLE_SPEC_VERSION = 1 pattern VK_NV_FILL_RECTANGLE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle" pattern VK_NV_FILL_RECTANGLE_EXTENSION_NAME :: CString pattern VK_POLYGON_MODE_FILL_RECTANGLE_NV :: VkPolygonMode module Graphics.Vulkan.Ext.VK_NV_glsl_shader type VK_NV_GLSL_SHADER_SPEC_VERSION = 1 pattern VK_NV_GLSL_SHADER_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader" pattern VK_NV_GLSL_SHADER_EXTENSION_NAME :: CString pattern VK_ERROR_INVALID_SHADER_NV :: VkResult module Graphics.Vulkan.Ext.VK_NV_shader_subgroup_partitioned type VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION = 1 pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME = "VK_NV_shader_subgroup_partitioned" pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME :: CString -- | bitpos = 8 pattern VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV :: VkSubgroupFeatureBitmask a module Graphics.Vulkan.Ext.VK_QCOM_render_pass_shader_resolve type VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION = 4 pattern VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION :: (Num a, Eq a) => a type VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME = "VK_QCOM_render_pass_shader_resolve" pattern VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME :: CString -- | bitpos = 2 pattern VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM :: VkSubpassDescriptionBitmask a -- | bitpos = 3 pattern VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM :: VkSubpassDescriptionBitmask a module Graphics.Vulkan.Ext.VK_KHR_swapchain_mutable_format type VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION = 1 pattern VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME = "VK_KHR_swapchain_mutable_format" pattern VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME :: CString -- | bitpos = 2 pattern VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR :: VkSwapchainCreateBitmaskKHR a -- | This module allows to load vulkan symbols at runtime. -- -- It is based on Vulkan API function vkGetInstanceProcAddr that -- is a part of Vulkan core 1.0. Also, have a look at Vulkan -- loader page to see other reasons to load symbols manually. -- -- All FFI functions are present in two variants: xxxUnsafe and -- xxxSafe, the names stand for foreign import unsafe -- xxx foreign import safe xxx respectively. In particular, -- that does not mean that vkGetXxxProcSafe function cannot -- fail; it does error if the symbol is not present in the -- implementation! module Graphics.Vulkan.Marshal.Proc -- | Some of the vulkan functions defined in vulkan extensions are not -- available at the program linking time. These functions should be -- discovered at runtime. Vulkan api provides special functions for this, -- called vkGetInstanceProcAddr and -- vkGetDeviceProcAddr. This class provides a simpler discovery -- mechanism based on that function. For example, you can get -- vkCreateDebugReportCallbackEXT function as follows: -- --
--   vkGetInstanceProc @VkCreateDebugReportCallbackEXT vkInstance
--   
class VulkanProc (proc :: Symbol) where { -- | Haskell signature for the vulkan function type family VkProcType proc; } -- | Name of the vulkan function vkProcSymbol :: VulkanProc proc => CString -- | Convert C function pointer to an ordinary haskell function. Use unsafe -- FFI (foreign import unsafe "dynamic" ...). unwrapVkProcPtrUnsafe :: VulkanProc proc => FunPtr (VkProcType proc) -> VkProcType proc -- | Convert C function pointer to an ordinary haskell function. Use safe -- FFI (foreign import safe "dynamic" ...). unwrapVkProcPtrSafe :: VulkanProc proc => FunPtr (VkProcType proc) -> VkProcType proc -- | An alternative to vkGetInstanceProcAddr with type inference -- and protection against typos. -- -- Note, this is an unsafe function; it does not check if the result of -- vkGetInstanceProcAddr is a null function pointer. vkGetInstanceProc :: forall proc. VulkanProc proc => VkInstance -> IO (VkProcType proc) -- | An alternative to vkGetInstanceProcAddr with type inference -- and protection against typos. -- -- Note, this is an unsafe function; it does not check if the result of -- vkGetInstanceProcAddr is a null function pointer. vkGetInstanceProcUnsafe :: forall proc. VulkanProc proc => VkInstance -> IO (VkProcType proc) -- | An alternative to vkGetInstanceProcAddr with type inference -- and protection against typos. -- -- Note, this is an unsafe function; it does not check if the result of -- vkGetInstanceProcAddr is a null function pointer. vkGetInstanceProcSafe :: forall proc. VulkanProc proc => VkInstance -> IO (VkProcType proc) -- | An alternative to vkGetInstanceProcAddr with type inference -- and protection against typos. vkLookupInstanceProc :: forall proc. VulkanProc proc => VkInstance -> IO (Maybe (VkProcType proc)) -- | An alternative to vkGetInstanceProcAddr with type inference -- and protection against typos. vkLookupInstanceProcUnsafe :: forall proc. VulkanProc proc => VkInstance -> IO (Maybe (VkProcType proc)) -- | An alternative to vkGetInstanceProcAddr with type inference -- and protection against typos. vkLookupInstanceProcSafe :: forall proc. VulkanProc proc => VkInstance -> IO (Maybe (VkProcType proc)) -- | An alternative to vkGetDeviceProcAddr with type inference and -- protection against typos. -- -- Note, this is an unsafe function; it does not check if the result of -- vkGetInstanceProcAddr is a null function pointer. vkGetDeviceProc :: forall proc. VulkanProc proc => VkDevice -> IO (VkProcType proc) -- | An alternative to vkGetDeviceProcAddr with type inference and -- protection against typos. -- -- Note, this is an unsafe function; it does not check if the result of -- vkGetInstanceProcAddr is a null function pointer. vkGetDeviceProcUnsafe :: forall proc. VulkanProc proc => VkDevice -> IO (VkProcType proc) -- | An alternative to vkGetDeviceProcAddr with type inference and -- protection against typos. -- -- Note, this is an unsafe function; it does not check if the result of -- vkGetInstanceProcAddr is a null function pointer. vkGetDeviceProcSafe :: forall proc. VulkanProc proc => VkDevice -> IO (VkProcType proc) -- | An alternative to vkGetDeviceProcAddr with type inference and -- protection against typos. vkLookupDeviceProc :: forall proc. VulkanProc proc => VkDevice -> IO (Maybe (VkProcType proc)) -- | An alternative to vkGetDeviceProcAddr with type inference and -- protection against typos. vkLookupDeviceProcUnsafe :: forall proc. VulkanProc proc => VkDevice -> IO (Maybe (VkProcType proc)) -- | An alternative to vkGetDeviceProcAddr with type inference and -- protection against typos. vkLookupDeviceProcSafe :: forall proc. VulkanProc proc => VkDevice -> IO (Maybe (VkProcType proc)) -- | Locate Vulkan symbol dynamically at runtime using platform-dependent -- machinery, such as dlsym or GetProcAddress. This -- function throws an error on failure. -- -- Consider using vkGetDeviceProc or vkGetInstanceProc for -- loading a symbol, because they can return a more optimized version of -- a function. Also note, you are likely not able to lookup an extension -- funcion using vkGetProc, because a corresponding symbol is -- simply not present in the vulkan loader library. vkGetProc :: forall proc. VulkanProc proc => IO (VkProcType proc) -- | Locate Vulkan symbol dynamically at runtime using platform-dependent -- machinery, such as dlsym or GetProcAddress. This -- function throws an error on failure. -- -- Consider using vkGetDeviceProc or vkGetInstanceProc for -- loading a symbol, because they can return a more optimized version of -- a function. Also note, you are likely not able to lookup an extension -- funcion using vkGetProc, because a corresponding symbol is -- simply not present in the vulkan loader library. vkGetProcUnsafe :: forall proc. VulkanProc proc => IO (VkProcType proc) -- | Locate Vulkan symbol dynamically at runtime using platform-dependent -- machinery, such as dlsym or GetProcAddress. This -- function throws an error on failure. -- -- Consider using vkGetDeviceProc or vkGetInstanceProc for -- loading a symbol, because they can return a more optimized version of -- a function. Also note, you are likely not able to lookup an extension -- funcion using vkGetProc, because a corresponding symbol is -- simply not present in the vulkan loader library. vkGetProcSafe :: forall proc. VulkanProc proc => IO (VkProcType proc) -- | Locate Vulkan symbol dynamically at runtime using platform-dependent -- machinery, such as dlsym or GetProcAddress. This -- function returns Nothing on failure ignoring an error -- message. -- -- Consider using vkGetDeviceProc or vkGetInstanceProc for -- loading a symbol, because they can return a more optimized version of -- a function. Also note, you are likely not able to lookup an extension -- funcion using vkLookupProc, because a corresponding symbol is -- simply not present in the vulkan loader library. vkLookupProc :: forall proc. VulkanProc proc => IO (Maybe (VkProcType proc)) -- | Locate Vulkan symbol dynamically at runtime using platform-dependent -- machinery, such as dlsym or GetProcAddress. This -- function returns Nothing on failure ignoring an error -- message. -- -- Consider using vkGetDeviceProc or vkGetInstanceProc for -- loading a symbol, because they can return a more optimized version of -- a function. Also note, you are likely not able to lookup an extension -- funcion using vkLookupProc, because a corresponding symbol is -- simply not present in the vulkan loader library. vkLookupProcUnsafe :: forall proc. VulkanProc proc => IO (Maybe (VkProcType proc)) -- | Locate Vulkan symbol dynamically at runtime using platform-dependent -- machinery, such as dlsym or GetProcAddress. This -- function returns Nothing on failure ignoring an error -- message. -- -- Consider using vkLookupDeviceProc or -- vkLookupInstanceProc for loading a symbol, because they can -- return a more optimized version of a function. Also note, you are -- likely not able to lookup an extension funcion using -- vkLookupProc, because a corresponding symbol is simply not -- present in the vulkan loader library. vkLookupProcSafe :: forall proc. VulkanProc proc => IO (Maybe (VkProcType proc)) -- | A value of type FunPtr a is a pointer to a function -- callable from foreign code. The type a will normally be a -- foreign type, a function type with zero or more arguments where -- -- -- -- A value of type FunPtr a may be a pointer to a foreign -- function, either returned by another foreign function or imported with -- a a static address import like -- --
--   foreign import ccall "stdlib.h &free"
--     p_free :: FunPtr (Ptr a -> IO ())
--   
-- -- or a pointer to a Haskell function created using a wrapper stub -- declared to produce a FunPtr of the correct type. For example: -- --
--   type Compare = Int -> Int -> Bool
--   foreign import ccall "wrapper"
--     mkCompare :: Compare -> IO (FunPtr Compare)
--   
-- -- Calls to wrapper stubs like mkCompare allocate storage, which -- should be released with freeHaskellFunPtr when no longer -- required. -- -- To convert FunPtr values to corresponding Haskell functions, -- one can define a dynamic stub for the specific foreign type, -- e.g. -- --
--   type IntFunction = CInt -> IO ()
--   foreign import ccall "dynamic"
--     mkFun :: FunPtr IntFunction -> IntFunction
--   
data FunPtr a -- | The constant nullFunPtr contains a distinguished value of -- FunPtr that is not associated with a valid memory location. nullFunPtr :: FunPtr a module Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count type VkCmdDrawIndirectCountKHR = "vkCmdDrawIndirectCountKHR" pattern VkCmdDrawIndirectCountKHR :: CString -- | This is an alias for vkCmdDrawIndirectCount. -- -- Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirectCountKHR
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirectCountKHR registry at www.khronos.org type HS_vkCmdDrawIndirectCountKHR = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkBuffer " countBuffer" -> VkDeviceSize " countBufferOffset" -> Word32 " maxDrawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndirectCountKHR = FunPtr HS_vkCmdDrawIndirectCountKHR type VkCmdDrawIndexedIndirectCountKHR = "vkCmdDrawIndexedIndirectCountKHR" pattern VkCmdDrawIndexedIndirectCountKHR :: CString -- | This is an alias for vkCmdDrawIndexedIndirectCount. -- -- Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirectCountKHR
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirectCountKHR registry at www.khronos.org type HS_vkCmdDrawIndexedIndirectCountKHR = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkBuffer " countBuffer" -> VkDeviceSize " countBufferOffset" -> Word32 " maxDrawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndexedIndirectCountKHR = FunPtr HS_vkCmdDrawIndexedIndirectCountKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1 pattern VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_KHR_draw_indirect_count" pattern VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexedIndirectCountKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirectCountKHR" module Graphics.Vulkan.Ext.VK_EXT_direct_mode_display type VkReleaseDisplayEXT = "vkReleaseDisplayEXT" pattern VkReleaseDisplayEXT :: CString -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkReleaseDisplayEXT
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       )
--   
-- -- vkReleaseDisplayEXT registry at www.khronos.org type HS_vkReleaseDisplayEXT = VkPhysicalDevice " physicalDevice" -> VkDisplayKHR " display" -> IO VkResult type PFN_vkReleaseDisplayEXT = FunPtr HS_vkReleaseDisplayEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1 pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME = "VK_EXT_direct_mode_display" pattern VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME :: CString instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkReleaseDisplayEXT" module Graphics.Vulkan.Ext.VK_AMD_draw_indirect_count type VkCmdDrawIndirectCountAMD = "vkCmdDrawIndirectCountAMD" pattern VkCmdDrawIndirectCountAMD :: CString -- | This is an alias for vkCmdDrawIndirectCount. -- -- Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirectCountAMD
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirectCountAMD registry at www.khronos.org type HS_vkCmdDrawIndirectCountAMD = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkBuffer " countBuffer" -> VkDeviceSize " countBufferOffset" -> Word32 " maxDrawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndirectCountAMD = FunPtr HS_vkCmdDrawIndirectCountAMD type VkCmdDrawIndexedIndirectCountAMD = "vkCmdDrawIndexedIndirectCountAMD" pattern VkCmdDrawIndexedIndirectCountAMD :: CString -- | This is an alias for vkCmdDrawIndexedIndirectCount. -- -- Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirectCountAMD
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org type HS_vkCmdDrawIndexedIndirectCountAMD = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkBuffer " countBuffer" -> VkDeviceSize " countBufferOffset" -> Word32 " maxDrawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndexedIndirectCountAMD = FunPtr HS_vkCmdDrawIndexedIndirectCountAMD -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 2 pattern VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_AMD_draw_indirect_count" pattern VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexedIndirectCountAMD" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirectCountAMD" module Graphics.Vulkan.Ext.VK_AMD_buffer_marker type VkCmdWriteBufferMarkerAMD = "vkCmdWriteBufferMarkerAMD" pattern VkCmdWriteBufferMarkerAMD :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- -- Pipeline: transfer -- --
--   void vkCmdWriteBufferMarkerAMD
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineStageFlagBits pipelineStage
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , uint32_t marker
--       )
--   
-- -- vkCmdWriteBufferMarkerAMD registry at www.khronos.org type HS_vkCmdWriteBufferMarkerAMD = VkCommandBuffer " commandBuffer" -> VkPipelineStageFlagBits " pipelineStage" -> VkBuffer " dstBuffer" -> VkDeviceSize " dstOffset" -> Word32 " marker" -> IO () type PFN_vkCmdWriteBufferMarkerAMD = FunPtr HS_vkCmdWriteBufferMarkerAMD -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_AMD_BUFFER_MARKER_SPEC_VERSION = 1 pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_BUFFER_MARKER_EXTENSION_NAME = "VK_AMD_buffer_marker" pattern VK_AMD_BUFFER_MARKER_EXTENSION_NAME :: CString instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWriteBufferMarkerAMD" module Graphics.Vulkan.Ext.VK_EXT_calibrated_timestamps -- |
--   typedef struct VkCalibratedTimestampInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkTimeDomainEXT        timeDomain;
--   } VkCalibratedTimestampInfoEXT;
--   
-- -- VkCalibratedTimestampInfoEXT registry at www.khronos.org type VkCalibratedTimestampInfoEXT = VkStruct VkCalibratedTimestampInfoEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | type = enum -- -- VkTimeDomainEXT registry at www.khronos.org newtype VkTimeDomainEXT VkTimeDomainEXT :: Int32 -> VkTimeDomainEXT pattern VK_TIME_DOMAIN_DEVICE_EXT :: VkTimeDomainEXT pattern VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT :: VkTimeDomainEXT pattern VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT :: VkTimeDomainEXT pattern VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT :: VkTimeDomainEXT type VkGetPhysicalDeviceCalibrateableTimeDomainsEXT = "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" pattern VkGetPhysicalDeviceCalibrateableTimeDomainsEXT :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pTimeDomainCount
--       , VkTimeDomainEXT* pTimeDomains
--       )
--   
-- -- vkGetPhysicalDeviceCalibrateableTimeDomainsEXT registry at -- www.khronos.org type HS_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pTimeDomainCount" -> Ptr VkTimeDomainEXT " pTimeDomains" -> IO VkResult type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = FunPtr HS_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT type VkGetCalibratedTimestampsEXT = "vkGetCalibratedTimestampsEXT" pattern VkGetCalibratedTimestampsEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetCalibratedTimestampsEXT
--       ( VkDevice device
--       , uint32_t timestampCount
--       , const VkCalibratedTimestampInfoEXT* pTimestampInfos
--       , uint64_t* pTimestamps
--       , uint64_t* pMaxDeviation
--       )
--   
-- -- vkGetCalibratedTimestampsEXT registry at www.khronos.org type HS_vkGetCalibratedTimestampsEXT = VkDevice " device" -> Word32 " timestampCount" -> Ptr VkCalibratedTimestampInfoEXT " pTimestampInfos" -> Ptr Word64 " pTimestamps" -> Ptr Word64 " pMaxDeviation" -> IO VkResult type PFN_vkGetCalibratedTimestampsEXT = FunPtr HS_vkGetCalibratedTimestampsEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION = 1 pattern VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME = "VK_EXT_calibrated_timestamps" pattern VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetCalibratedTimestampsEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" -- | This module is not part of auto-generated code based on vk.xml. -- Instead, it is hand-written to aggregate all generated code. module Graphics.Vulkan type VK_API_VERSION_1_0 = 4194304 -- |
--   // Vulkan 1.0 version number
--   #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
--   
pattern VK_API_VERSION_1_0 :: (Num a, Eq a) => a type VK_API_VERSION_1_1 = 4198400 -- |
--   // Vulkan 1.1 version number
--   #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
--   
pattern VK_API_VERSION_1_1 :: (Num a, Eq a) => a type VK_API_VERSION_1_2 = 4202496 -- |
--   // Vulkan 1.2 version number
--   #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
--   
pattern VK_API_VERSION_1_2 :: (Num a, Eq a) => a -- | A value of type Ptr a represents a pointer to an -- object, or an array of objects, which may be marshalled to or from -- Haskell values of type a. -- -- The type a will often be an instance of class Storable -- which provides the marshalling operations. However this is not -- essential, and you can provide your own operations to access the -- pointer. For example you might write small foreign functions to get or -- set the fields of a C struct. data Ptr a -- |
VK_DEFINE_NON_DISPATCHABLE_HANDLE
-- -- Non-dispatchable handles are represented as VkPtr -- -- Represented as Word64 -- --
--   #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
--   #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
--           #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
--   #else
--           #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
--   #endif
--   #endif
--   
newtype VkPtr a VkPtr :: Word64 -> VkPtr a type VK_HEADER_VERSION = 152 -- |
--   // Version of this file
--   #define VK_HEADER_VERSION 152
--   
pattern VK_HEADER_VERSION :: (Num a, Eq a) => a -- |
--   // Complete version of this file
--   #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
--   
_VK_HEADER_VERSION_COMPLETE :: (Bits a, Num a) => a -- |
--   #define VK_MAKE_VERSION(major, minor, patch) --   >     ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
--   
_VK_MAKE_VERSION :: Bits a => a -> a -> a -> a -- | Unify dispatchable and non-dispatchable vulkan pointer types. -- -- Dispatchable handles are represented as Ptr. -- -- Non-dispatchable handles are represented as VkPtr. class VulkanPtr ptr vkNullPtr :: VulkanPtr ptr => ptr a -- |
--   #define VK_NULL_HANDLE 0
--   
pattern VK_NULL_HANDLE :: (Eq (ptr a), VulkanPtr ptr) => ptr a -- |
--   #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
--   
_VK_VERSION_MAJOR :: Bits a => a -> a -- |
--   #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
--   
_VK_VERSION_MINOR :: (Bits a, Num a) => a -> a -- |
--   #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
--   
_VK_VERSION_PATCH :: (Bits a, Num a) => a -> a -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type HS_vkVoidFunction = IO () -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T type VkDevice = Ptr VkDevice_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T -- | Opaque data type referenced by VkImage data VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- | Requires windows.h type DWORD = Word32 -- | Requires X11/Xlib.h data Display -- | Requires ggp_c/vulkan_types.h data GgpFrameToken -- | Requires ggp_c/vulkan_types.h data GgpStreamDescriptor -- | Requires windows.h type HANDLE = Ptr () -- | Requires windows.h type HINSTANCE = Ptr () -- | Requires windows.h data HMONITOR -- | Requires windows.h type HWND = Ptr () -- | Requires directfb.h data IDirectFB -- | Requires directfb.h data IDirectFBSurface -- | Requires windows.h type LPCWSTR = Ptr CWchar -- | Requires X11extensionsXrandr.h type RROutput = CULong -- | Requires windows.h data SECURITY_ATTRIBUTES -- | Requires X11/Xlib.h type VisualID = CULong -- | Requires X11/Xlib.h type Window = CULong -- | Requires wayland-client.h data WlDisplay -- | Requires wayland-client.h data WlSurface -- | Requires xcb/xcb.h data XcbConnectionT -- | Requires xcb/xcb.h type XcbVisualidT = CULong -- | Requires xcb/xcb.h type XcbWindowT = CULong -- | Requires zircon/types.h data Zx_handle_t module Graphics.Vulkan.Ext.VK_EXT_headless_surface -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkHeadlessSurfaceCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkHeadlessSurfaceCreateFlagsEXT   flags;
--   } VkHeadlessSurfaceCreateInfoEXT;
--   
-- -- VkHeadlessSurfaceCreateInfoEXT registry at www.khronos.org type VkHeadlessSurfaceCreateInfoEXT = VkStruct VkHeadlessSurfaceCreateInfoEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCreateHeadlessSurfaceEXT = "vkCreateHeadlessSurfaceEXT" pattern VkCreateHeadlessSurfaceEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateHeadlessSurfaceEXT
--       ( VkInstance instance
--       , const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSurfaceKHR* pSurface
--       )
--   
-- -- vkCreateHeadlessSurfaceEXT registry at www.khronos.org type HS_vkCreateHeadlessSurfaceEXT = VkInstance " instance" -> Ptr VkHeadlessSurfaceCreateInfoEXT " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSurfaceKHR " pSurface" -> IO VkResult type PFN_vkCreateHeadlessSurfaceEXT = FunPtr HS_vkCreateHeadlessSurfaceEXT -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' type VK_EXT_HEADLESS_SURFACE_SPEC_VERSION = 1 pattern VK_EXT_HEADLESS_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME = "VK_EXT_headless_surface" pattern VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateHeadlessSurfaceEXT" module Graphics.Vulkan.Ext.VK_EXT_debug_marker -- |
--   typedef struct VkDebugMarkerMarkerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       const char* pMarkerName;
--       float            color[4];
--   } VkDebugMarkerMarkerInfoEXT;
--   
-- -- VkDebugMarkerMarkerInfoEXT registry at www.khronos.org type VkDebugMarkerMarkerInfoEXT = VkStruct VkDebugMarkerMarkerInfoEXT' -- |
--   typedef struct VkDebugMarkerObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       const char* pObjectName;
--   } VkDebugMarkerObjectNameInfoEXT;
--   
-- -- VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org type VkDebugMarkerObjectNameInfoEXT = VkStruct VkDebugMarkerObjectNameInfoEXT' -- |
--   typedef struct VkDebugMarkerObjectTagInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       uint64_t                         tagName;
--       size_t                           tagSize;
--       const void*        pTag;
--   } VkDebugMarkerObjectTagInfoEXT;
--   
-- -- VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org type VkDebugMarkerObjectTagInfoEXT = VkStruct VkDebugMarkerObjectTagInfoEXT' newtype VkDebugReportBitmaskEXT (a :: FlagType) VkDebugReportBitmaskEXT :: VkFlags -> VkDebugReportBitmaskEXT (a :: FlagType) pattern VkDebugReportFlagBitsEXT :: VkFlags -> VkDebugReportBitmaskEXT FlagBit pattern VkDebugReportFlagsEXT :: VkFlags -> VkDebugReportBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 1 pattern VK_DEBUG_REPORT_WARNING_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 2 pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 3 pattern VK_DEBUG_REPORT_ERROR_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 4 pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT :: VkDebugReportBitmaskEXT a -- | type = enum -- -- VkDebugReportObjectTypeEXT registry at www.khronos.org newtype VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT :: Int32 -> VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: VkDebugReportObjectTypeEXT -- | Backwards-compatible alias containing a typo pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT :: VkDebugReportObjectTypeEXT -- | Backwards-compatible alias containing a typo pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT :: VkDebugReportObjectTypeEXT newtype VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) VkDebugUtilsMessageSeverityBitmaskEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) pattern VkDebugUtilsMessageSeverityFlagBitsEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagBit pattern VkDebugUtilsMessageSeverityFlagsEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 4 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 8 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 12 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a newtype VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) VkDebugUtilsMessageTypeBitmaskEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) pattern VkDebugUtilsMessageTypeFlagBitsEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagBit pattern VkDebugUtilsMessageTypeFlagsEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a -- | bitpos = 1 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a -- | bitpos = 2 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask type VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagBit type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagMask type VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagBit type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkDebugMarkerSetObjectTagEXT = "vkDebugMarkerSetObjectTagEXT" pattern VkDebugMarkerSetObjectTagEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkDebugMarkerSetObjectTagEXT
--       ( VkDevice device
--       , const VkDebugMarkerObjectTagInfoEXT* pTagInfo
--       )
--   
-- -- vkDebugMarkerSetObjectTagEXT registry at www.khronos.org type HS_vkDebugMarkerSetObjectTagEXT = VkDevice " device" -> Ptr VkDebugMarkerObjectTagInfoEXT " pTagInfo" -> IO VkResult type PFN_vkDebugMarkerSetObjectTagEXT = FunPtr HS_vkDebugMarkerSetObjectTagEXT type VkDebugMarkerSetObjectNameEXT = "vkDebugMarkerSetObjectNameEXT" pattern VkDebugMarkerSetObjectNameEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkDebugMarkerSetObjectNameEXT
--       ( VkDevice device
--       , const VkDebugMarkerObjectNameInfoEXT* pNameInfo
--       )
--   
-- -- vkDebugMarkerSetObjectNameEXT registry at www.khronos.org type HS_vkDebugMarkerSetObjectNameEXT = VkDevice " device" -> Ptr VkDebugMarkerObjectNameInfoEXT " pNameInfo" -> IO VkResult type PFN_vkDebugMarkerSetObjectNameEXT = FunPtr HS_vkDebugMarkerSetObjectNameEXT type VkCmdDebugMarkerBeginEXT = "vkCmdDebugMarkerBeginEXT" pattern VkCmdDebugMarkerBeginEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdDebugMarkerBeginEXT
--       ( VkCommandBuffer commandBuffer
--       , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo
--       )
--   
-- -- vkCmdDebugMarkerBeginEXT registry at www.khronos.org type HS_vkCmdDebugMarkerBeginEXT = VkCommandBuffer " commandBuffer" -> Ptr VkDebugMarkerMarkerInfoEXT " pMarkerInfo" -> IO () type PFN_vkCmdDebugMarkerBeginEXT = FunPtr HS_vkCmdDebugMarkerBeginEXT type VkCmdDebugMarkerEndEXT = "vkCmdDebugMarkerEndEXT" pattern VkCmdDebugMarkerEndEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdDebugMarkerEndEXT
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkCmdDebugMarkerEndEXT registry at www.khronos.org type HS_vkCmdDebugMarkerEndEXT = VkCommandBuffer " commandBuffer" -> IO () type PFN_vkCmdDebugMarkerEndEXT = FunPtr HS_vkCmdDebugMarkerEndEXT type VkCmdDebugMarkerInsertEXT = "vkCmdDebugMarkerInsertEXT" pattern VkCmdDebugMarkerInsertEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdDebugMarkerInsertEXT
--       ( VkCommandBuffer commandBuffer
--       , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo
--       )
--   
-- -- vkCmdDebugMarkerInsertEXT registry at www.khronos.org type HS_vkCmdDebugMarkerInsertEXT = VkCommandBuffer " commandBuffer" -> Ptr VkDebugMarkerMarkerInfoEXT " pMarkerInfo" -> IO () type PFN_vkCmdDebugMarkerInsertEXT = FunPtr HS_vkCmdDebugMarkerInsertEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkDebugReportCallbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportFlagsEXT            flags;
--       PFN_vkDebugReportCallbackEXT     pfnCallback;
--       void*            pUserData;
--   } VkDebugReportCallbackCreateInfoEXT;
--   
-- -- VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org type VkDebugReportCallbackCreateInfoEXT = VkStruct VkDebugReportCallbackCreateInfoEXT' -- |
--   typedef struct VkDebugUtilsObjectTagInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkObjectType                           objectType;
--       uint64_t                               objectHandle;
--       uint64_t                               tagName;
--       size_t                                 tagSize;
--       const void*              pTag;
--   } VkDebugUtilsObjectTagInfoEXT;
--   
-- -- VkDebugUtilsObjectTagInfoEXT registry at www.khronos.org type VkDebugUtilsObjectTagInfoEXT = VkStruct VkDebugUtilsObjectTagInfoEXT' type VK_EXT_DEBUG_MARKER_SPEC_VERSION = 4 pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker" pattern VK_EXT_DEBUG_MARKER_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDebugMarkerInsertEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDebugMarkerEndEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDebugMarkerBeginEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDebugMarkerSetObjectNameEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDebugMarkerSetObjectTagEXT" module Graphics.Vulkan.Ext.VK_EXT_debug_utils -- |
--   typedef struct VkApplicationInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       const char*     pApplicationName;
--       uint32_t        applicationVersion;
--       const char*     pEngineName;
--       uint32_t        engineVersion;
--       uint32_t        apiVersion;
--   } VkApplicationInfo;
--   
-- -- VkApplicationInfo registry at www.khronos.org type VkApplicationInfo = VkStruct VkApplicationInfo' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDebugUtilsLabelEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       const char*      pLabelName;
--       float                  color[4];
--   } VkDebugUtilsLabelEXT;
--   
-- -- VkDebugUtilsLabelEXT registry at www.khronos.org type VkDebugUtilsLabelEXT = VkStruct VkDebugUtilsLabelEXT' newtype VkDebugReportBitmaskEXT (a :: FlagType) VkDebugReportBitmaskEXT :: VkFlags -> VkDebugReportBitmaskEXT (a :: FlagType) pattern VkDebugReportFlagBitsEXT :: VkFlags -> VkDebugReportBitmaskEXT FlagBit pattern VkDebugReportFlagsEXT :: VkFlags -> VkDebugReportBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 1 pattern VK_DEBUG_REPORT_WARNING_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 2 pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 3 pattern VK_DEBUG_REPORT_ERROR_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 4 pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT :: VkDebugReportBitmaskEXT a -- | type = enum -- -- VkDebugReportObjectTypeEXT registry at www.khronos.org newtype VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT :: Int32 -> VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: VkDebugReportObjectTypeEXT -- | Backwards-compatible alias containing a typo pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT :: VkDebugReportObjectTypeEXT -- | Backwards-compatible alias containing a typo pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT :: VkDebugReportObjectTypeEXT newtype VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) VkDebugUtilsMessageSeverityBitmaskEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) pattern VkDebugUtilsMessageSeverityFlagBitsEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagBit pattern VkDebugUtilsMessageSeverityFlagsEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 4 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 8 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 12 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a newtype VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) VkDebugUtilsMessageTypeBitmaskEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) pattern VkDebugUtilsMessageTypeFlagBitsEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagBit pattern VkDebugUtilsMessageTypeFlagsEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a -- | bitpos = 1 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a -- | bitpos = 2 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask type VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagBit type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagMask type VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagBit type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagMask -- |
--   typedef struct VkDebugUtilsMessengerCallbackDataEXT {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkDebugUtilsMessengerCallbackDataFlagsEXT                          flags;
--       const char*                                  pMessageIdName;
--       int32_t                                                            messageIdNumber;
--       const char*                                                  pMessage;
--       uint32_t                                                           queueLabelCount;
--       const VkDebugUtilsLabelEXT*                  pQueueLabels;
--       uint32_t                                                           cmdBufLabelCount;
--       const VkDebugUtilsLabelEXT*                 pCmdBufLabels;
--       uint32_t                                                           objectCount;
--       const VkDebugUtilsObjectNameInfoEXT*             pObjects;
--   } VkDebugUtilsMessengerCallbackDataEXT;
--   
-- -- VkDebugUtilsMessengerCallbackDataEXT registry at -- www.khronos.org type VkDebugUtilsMessengerCallbackDataEXT = VkStruct VkDebugUtilsMessengerCallbackDataEXT' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDebugUtilsMessengerCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                          pNext;
--       VkDebugUtilsMessengerCreateFlagsEXT  flags;
--       VkDebugUtilsMessageSeverityFlagsEXT                  messageSeverity;
--       VkDebugUtilsMessageTypeFlagsEXT                      messageType;
--       PFN_vkDebugUtilsMessengerCallbackEXT                 pfnUserCallback;
--       void*                                pUserData;
--   } VkDebugUtilsMessengerCreateInfoEXT;
--   
-- -- VkDebugUtilsMessengerCreateInfoEXT registry at www.khronos.org type VkDebugUtilsMessengerCreateInfoEXT = VkStruct VkDebugUtilsMessengerCreateInfoEXT' -- |
--   typedef struct VkDebugUtilsObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkObjectType                                           objectType;
--       uint64_t                                               objectHandle;
--       const char*      pObjectName;
--   } VkDebugUtilsObjectNameInfoEXT;
--   
-- -- VkDebugUtilsObjectNameInfoEXT registry at www.khronos.org type VkDebugUtilsObjectNameInfoEXT = VkStruct VkDebugUtilsObjectNameInfoEXT' -- |
--   typedef struct VkDebugUtilsObjectTagInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkObjectType                           objectType;
--       uint64_t                               objectHandle;
--       uint64_t                               tagName;
--       size_t                                 tagSize;
--       const void*              pTag;
--   } VkDebugUtilsObjectTagInfoEXT;
--   
-- -- VkDebugUtilsObjectTagInfoEXT registry at www.khronos.org type VkDebugUtilsObjectTagInfoEXT = VkStruct VkDebugUtilsObjectTagInfoEXT' -- |
--   typedef struct VkInstanceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkInstanceCreateFlags  flags;
--       const VkApplicationInfo* pApplicationInfo;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--   } VkInstanceCreateInfo;
--   
-- -- VkInstanceCreateInfo registry at www.khronos.org type VkInstanceCreateInfo = VkStruct VkInstanceCreateInfo' -- | Enums to track objects of various types -- -- type = enum -- -- VkObjectType registry at www.khronos.org newtype VkObjectType VkObjectType :: Int32 -> VkObjectType pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType -- | VkInstance pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType -- | VkPhysicalDevice pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType -- | VkDevice pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType -- | VkQueue pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType -- | VkSemaphore pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType -- | VkCommandBuffer pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType -- | VkFence pattern VK_OBJECT_TYPE_FENCE :: VkObjectType -- | VkDeviceMemory pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType -- | VkBuffer pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType -- | VkImage pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType -- | VkEvent pattern VK_OBJECT_TYPE_EVENT :: VkObjectType -- | VkQueryPool pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType -- | VkBufferView pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType -- | VkImageView pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType -- | VkShaderModule pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType -- | VkPipelineCache pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType -- | VkPipelineLayout pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType -- | VkRenderPass pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType -- | VkPipeline pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType -- | VkDescriptorSetLayout pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType -- | VkSampler pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType -- | VkDescriptorPool pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType -- | VkDescriptorSet pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType -- | VkFramebuffer pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType -- | VkCommandPool pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkSetDebugUtilsObjectNameEXT = "vkSetDebugUtilsObjectNameEXT" pattern VkSetDebugUtilsObjectNameEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSetDebugUtilsObjectNameEXT
--       ( VkDevice device
--       , const VkDebugUtilsObjectNameInfoEXT* pNameInfo
--       )
--   
-- -- vkSetDebugUtilsObjectNameEXT registry at www.khronos.org type HS_vkSetDebugUtilsObjectNameEXT = VkDevice " device" -> Ptr VkDebugUtilsObjectNameInfoEXT " pNameInfo" -> IO VkResult type PFN_vkSetDebugUtilsObjectNameEXT = FunPtr HS_vkSetDebugUtilsObjectNameEXT type VkSetDebugUtilsObjectTagEXT = "vkSetDebugUtilsObjectTagEXT" pattern VkSetDebugUtilsObjectTagEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSetDebugUtilsObjectTagEXT
--       ( VkDevice device
--       , const VkDebugUtilsObjectTagInfoEXT* pTagInfo
--       )
--   
-- -- vkSetDebugUtilsObjectTagEXT registry at www.khronos.org type HS_vkSetDebugUtilsObjectTagEXT = VkDevice " device" -> Ptr VkDebugUtilsObjectTagInfoEXT " pTagInfo" -> IO VkResult type PFN_vkSetDebugUtilsObjectTagEXT = FunPtr HS_vkSetDebugUtilsObjectTagEXT type VkQueueBeginDebugUtilsLabelEXT = "vkQueueBeginDebugUtilsLabelEXT" pattern VkQueueBeginDebugUtilsLabelEXT :: CString -- |
--   void vkQueueBeginDebugUtilsLabelEXT
--       ( VkQueue queue
--       , const VkDebugUtilsLabelEXT* pLabelInfo
--       )
--   
-- -- vkQueueBeginDebugUtilsLabelEXT registry at www.khronos.org type HS_vkQueueBeginDebugUtilsLabelEXT = VkQueue " queue" -> Ptr VkDebugUtilsLabelEXT " pLabelInfo" -> IO () type PFN_vkQueueBeginDebugUtilsLabelEXT = FunPtr HS_vkQueueBeginDebugUtilsLabelEXT type VkQueueEndDebugUtilsLabelEXT = "vkQueueEndDebugUtilsLabelEXT" pattern VkQueueEndDebugUtilsLabelEXT :: CString -- |
--   void vkQueueEndDebugUtilsLabelEXT
--       ( VkQueue queue
--       )
--   
-- -- vkQueueEndDebugUtilsLabelEXT registry at www.khronos.org type HS_vkQueueEndDebugUtilsLabelEXT = VkQueue " queue" -> IO () type PFN_vkQueueEndDebugUtilsLabelEXT = FunPtr HS_vkQueueEndDebugUtilsLabelEXT type VkQueueInsertDebugUtilsLabelEXT = "vkQueueInsertDebugUtilsLabelEXT" pattern VkQueueInsertDebugUtilsLabelEXT :: CString -- |
--   void vkQueueInsertDebugUtilsLabelEXT
--       ( VkQueue queue
--       , const VkDebugUtilsLabelEXT* pLabelInfo
--       )
--   
-- -- vkQueueInsertDebugUtilsLabelEXT registry at www.khronos.org type HS_vkQueueInsertDebugUtilsLabelEXT = VkQueue " queue" -> Ptr VkDebugUtilsLabelEXT " pLabelInfo" -> IO () type PFN_vkQueueInsertDebugUtilsLabelEXT = FunPtr HS_vkQueueInsertDebugUtilsLabelEXT type VkCmdBeginDebugUtilsLabelEXT = "vkCmdBeginDebugUtilsLabelEXT" pattern VkCmdBeginDebugUtilsLabelEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBeginDebugUtilsLabelEXT
--       ( VkCommandBuffer commandBuffer
--       , const VkDebugUtilsLabelEXT* pLabelInfo
--       )
--   
-- -- vkCmdBeginDebugUtilsLabelEXT registry at www.khronos.org type HS_vkCmdBeginDebugUtilsLabelEXT = VkCommandBuffer " commandBuffer" -> Ptr VkDebugUtilsLabelEXT " pLabelInfo" -> IO () type PFN_vkCmdBeginDebugUtilsLabelEXT = FunPtr HS_vkCmdBeginDebugUtilsLabelEXT type VkCmdEndDebugUtilsLabelEXT = "vkCmdEndDebugUtilsLabelEXT" pattern VkCmdEndDebugUtilsLabelEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdEndDebugUtilsLabelEXT
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkCmdEndDebugUtilsLabelEXT registry at www.khronos.org type HS_vkCmdEndDebugUtilsLabelEXT = VkCommandBuffer " commandBuffer" -> IO () type PFN_vkCmdEndDebugUtilsLabelEXT = FunPtr HS_vkCmdEndDebugUtilsLabelEXT type VkCmdInsertDebugUtilsLabelEXT = "vkCmdInsertDebugUtilsLabelEXT" pattern VkCmdInsertDebugUtilsLabelEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdInsertDebugUtilsLabelEXT
--       ( VkCommandBuffer commandBuffer
--       , const VkDebugUtilsLabelEXT* pLabelInfo
--       )
--   
-- -- vkCmdInsertDebugUtilsLabelEXT registry at www.khronos.org type HS_vkCmdInsertDebugUtilsLabelEXT = VkCommandBuffer " commandBuffer" -> Ptr VkDebugUtilsLabelEXT " pLabelInfo" -> IO () type PFN_vkCmdInsertDebugUtilsLabelEXT = FunPtr HS_vkCmdInsertDebugUtilsLabelEXT type VkCreateDebugUtilsMessengerEXT = "vkCreateDebugUtilsMessengerEXT" pattern VkCreateDebugUtilsMessengerEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkCreateDebugUtilsMessengerEXT
--       ( VkInstance instance
--       , const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDebugUtilsMessengerEXT* pMessenger
--       )
--   
-- -- vkCreateDebugUtilsMessengerEXT registry at www.khronos.org type HS_vkCreateDebugUtilsMessengerEXT = VkInstance " instance" -> Ptr VkDebugUtilsMessengerCreateInfoEXT " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDebugUtilsMessengerEXT " pMessenger" -> IO VkResult type PFN_vkCreateDebugUtilsMessengerEXT = FunPtr HS_vkCreateDebugUtilsMessengerEXT type VkDestroyDebugUtilsMessengerEXT = "vkDestroyDebugUtilsMessengerEXT" pattern VkDestroyDebugUtilsMessengerEXT :: CString -- |
--   void vkDestroyDebugUtilsMessengerEXT
--       ( VkInstance instance
--       , VkDebugUtilsMessengerEXT messenger
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDebugUtilsMessengerEXT registry at www.khronos.org type HS_vkDestroyDebugUtilsMessengerEXT = VkInstance " instance" -> VkDebugUtilsMessengerEXT " messenger" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDebugUtilsMessengerEXT = FunPtr HS_vkDestroyDebugUtilsMessengerEXT type VkSubmitDebugUtilsMessageEXT = "vkSubmitDebugUtilsMessageEXT" pattern VkSubmitDebugUtilsMessageEXT :: CString -- |
--   void vkSubmitDebugUtilsMessageEXT
--       ( VkInstance instance
--       , VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity
--       , VkDebugUtilsMessageTypeFlagsEXT messageTypes
--       , const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData
--       )
--   
-- -- vkSubmitDebugUtilsMessageEXT registry at www.khronos.org type HS_vkSubmitDebugUtilsMessageEXT = VkInstance " instance" -> VkDebugUtilsMessageSeverityFlagBitsEXT " messageSeverity" -> VkDebugUtilsMessageTypeFlagsEXT " messageTypes" -> Ptr VkDebugUtilsMessengerCallbackDataEXT " pCallbackData" -> IO () type PFN_vkSubmitDebugUtilsMessageEXT = FunPtr HS_vkSubmitDebugUtilsMessageEXT -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkDebugMarkerMarkerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       const char* pMarkerName;
--       float            color[4];
--   } VkDebugMarkerMarkerInfoEXT;
--   
-- -- VkDebugMarkerMarkerInfoEXT registry at www.khronos.org type VkDebugMarkerMarkerInfoEXT = VkStruct VkDebugMarkerMarkerInfoEXT' -- |
--   typedef struct VkDebugMarkerObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       const char* pObjectName;
--   } VkDebugMarkerObjectNameInfoEXT;
--   
-- -- VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org type VkDebugMarkerObjectNameInfoEXT = VkStruct VkDebugMarkerObjectNameInfoEXT' -- |
--   typedef struct VkDebugMarkerObjectTagInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       uint64_t                         tagName;
--       size_t                           tagSize;
--       const void*        pTag;
--   } VkDebugMarkerObjectTagInfoEXT;
--   
-- -- VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org type VkDebugMarkerObjectTagInfoEXT = VkStruct VkDebugMarkerObjectTagInfoEXT' -- |
--   typedef struct VkDebugReportCallbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportFlagsEXT            flags;
--       PFN_vkDebugReportCallbackEXT     pfnCallback;
--       void*            pUserData;
--   } VkDebugReportCallbackCreateInfoEXT;
--   
-- -- VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org type VkDebugReportCallbackCreateInfoEXT = VkStruct VkDebugReportCallbackCreateInfoEXT' type VK_EXT_DEBUG_UTILS_SPEC_VERSION = 2 pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils" pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: VkStructureType -- | VkDebugUtilsMessengerEXT pattern VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: VkObjectType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSubmitDebugUtilsMessageEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDebugUtilsMessengerEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDebugUtilsMessengerEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdInsertDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueInsertDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueEndDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueBeginDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetDebugUtilsObjectTagEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetDebugUtilsObjectNameEXT" module Graphics.Vulkan.Ext.VK_EXT_debug_report -- |
--   typedef struct VkApplicationInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       const char*     pApplicationName;
--       uint32_t        applicationVersion;
--       const char*     pEngineName;
--       uint32_t        engineVersion;
--       uint32_t        apiVersion;
--   } VkApplicationInfo;
--   
-- -- VkApplicationInfo registry at www.khronos.org type VkApplicationInfo = VkStruct VkApplicationInfo' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDebugReportCallbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportFlagsEXT            flags;
--       PFN_vkDebugReportCallbackEXT     pfnCallback;
--       void*            pUserData;
--   } VkDebugReportCallbackCreateInfoEXT;
--   
-- -- VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org type VkDebugReportCallbackCreateInfoEXT = VkStruct VkDebugReportCallbackCreateInfoEXT' newtype VkDebugReportBitmaskEXT (a :: FlagType) VkDebugReportBitmaskEXT :: VkFlags -> VkDebugReportBitmaskEXT (a :: FlagType) pattern VkDebugReportFlagBitsEXT :: VkFlags -> VkDebugReportBitmaskEXT FlagBit pattern VkDebugReportFlagsEXT :: VkFlags -> VkDebugReportBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 1 pattern VK_DEBUG_REPORT_WARNING_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 2 pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 3 pattern VK_DEBUG_REPORT_ERROR_BIT_EXT :: VkDebugReportBitmaskEXT a -- | bitpos = 4 pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT :: VkDebugReportBitmaskEXT a -- | type = enum -- -- VkDebugReportObjectTypeEXT registry at www.khronos.org newtype VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT :: Int32 -> VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: VkDebugReportObjectTypeEXT -- | Backwards-compatible alias containing a typo pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT :: VkDebugReportObjectTypeEXT -- | Backwards-compatible alias containing a typo pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT :: VkDebugReportObjectTypeEXT newtype VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) VkDebugUtilsMessageSeverityBitmaskEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) pattern VkDebugUtilsMessageSeverityFlagBitsEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagBit pattern VkDebugUtilsMessageSeverityFlagsEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 4 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 8 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a -- | bitpos = 12 pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: VkDebugUtilsMessageSeverityBitmaskEXT a newtype VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) VkDebugUtilsMessageTypeBitmaskEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) pattern VkDebugUtilsMessageTypeFlagBitsEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagBit pattern VkDebugUtilsMessageTypeFlagsEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a -- | bitpos = 1 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a -- | bitpos = 2 pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: VkDebugUtilsMessageTypeBitmaskEXT a type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask type VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagBit type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagMask type VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagBit type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkInstanceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkInstanceCreateFlags  flags;
--       const VkApplicationInfo* pApplicationInfo;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--   } VkInstanceCreateInfo;
--   
-- -- VkInstanceCreateInfo registry at www.khronos.org type VkInstanceCreateInfo = VkStruct VkInstanceCreateInfo' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCreateDebugReportCallbackEXT = "vkCreateDebugReportCallbackEXT" pattern VkCreateDebugReportCallbackEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkCreateDebugReportCallbackEXT
--       ( VkInstance instance
--       , const VkDebugReportCallbackCreateInfoEXT* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDebugReportCallbackEXT* pCallback
--       )
--   
-- -- vkCreateDebugReportCallbackEXT registry at www.khronos.org type HS_vkCreateDebugReportCallbackEXT = VkInstance " instance" -> Ptr VkDebugReportCallbackCreateInfoEXT " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDebugReportCallbackEXT " pCallback" -> IO VkResult type PFN_vkCreateDebugReportCallbackEXT = FunPtr HS_vkCreateDebugReportCallbackEXT type VkDestroyDebugReportCallbackEXT = "vkDestroyDebugReportCallbackEXT" pattern VkDestroyDebugReportCallbackEXT :: CString -- |
--   void vkDestroyDebugReportCallbackEXT
--       ( VkInstance instance
--       , VkDebugReportCallbackEXT callback
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDebugReportCallbackEXT registry at www.khronos.org type HS_vkDestroyDebugReportCallbackEXT = VkInstance " instance" -> VkDebugReportCallbackEXT " callback" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDebugReportCallbackEXT = FunPtr HS_vkDestroyDebugReportCallbackEXT type VkDebugReportMessageEXT = "vkDebugReportMessageEXT" pattern VkDebugReportMessageEXT :: CString -- |
--   void vkDebugReportMessageEXT
--       ( VkInstance instance
--       , VkDebugReportFlagsEXT flags
--       , VkDebugReportObjectTypeEXT objectType
--       , uint64_t object
--       , size_t location
--       , int32_t messageCode
--       , const char* pLayerPrefix
--       , const char* pMessage
--       )
--   
-- -- vkDebugReportMessageEXT registry at www.khronos.org type HS_vkDebugReportMessageEXT = VkInstance " instance" -> VkDebugReportFlagsEXT " flags" -> VkDebugReportObjectTypeEXT " objectType" -> Word64 " object" -> CSize " location" -> Int32 " messageCode" -> CString " pLayerPrefix" -> CString " pMessage" -> IO () type PFN_vkDebugReportMessageEXT = FunPtr HS_vkDebugReportMessageEXT -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkDebugMarkerMarkerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       const char* pMarkerName;
--       float            color[4];
--   } VkDebugMarkerMarkerInfoEXT;
--   
-- -- VkDebugMarkerMarkerInfoEXT registry at www.khronos.org type VkDebugMarkerMarkerInfoEXT = VkStruct VkDebugMarkerMarkerInfoEXT' -- |
--   typedef struct VkDebugMarkerObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       const char* pObjectName;
--   } VkDebugMarkerObjectNameInfoEXT;
--   
-- -- VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org type VkDebugMarkerObjectNameInfoEXT = VkStruct VkDebugMarkerObjectNameInfoEXT' -- |
--   typedef struct VkDebugMarkerObjectTagInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       uint64_t                         tagName;
--       size_t                           tagSize;
--       const void*        pTag;
--   } VkDebugMarkerObjectTagInfoEXT;
--   
-- -- VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org type VkDebugMarkerObjectTagInfoEXT = VkStruct VkDebugMarkerObjectTagInfoEXT' -- |
--   typedef struct VkDebugUtilsObjectTagInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkObjectType                           objectType;
--       uint64_t                               objectHandle;
--       uint64_t                               tagName;
--       size_t                                 tagSize;
--       const void*              pTag;
--   } VkDebugUtilsObjectTagInfoEXT;
--   
-- -- VkDebugUtilsObjectTagInfoEXT registry at www.khronos.org type VkDebugUtilsObjectTagInfoEXT = VkStruct VkDebugUtilsObjectTagInfoEXT' type VK_EXT_DEBUG_REPORT_SPEC_VERSION = 9 pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report" pattern VK_EXT_DEBUG_REPORT_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: VkStructureType -- | Backwards-compatible alias containing a typo pattern VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT :: VkStructureType pattern VK_ERROR_VALIDATION_FAILED_EXT :: VkResult -- | VkDebugReportCallbackEXT pattern VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: VkObjectType pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: VkDebugReportObjectTypeEXT pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: VkDebugReportObjectTypeEXT instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDebugReportMessageEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDebugReportCallbackEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDebugReportCallbackEXT" module Graphics.Vulkan.Ext.VK_KHR_external_fence_fd newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   typedef struct VkFenceGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence                                fence;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--   } VkFenceGetFdInfoKHR;
--   
-- -- VkFenceGetFdInfoKHR registry at www.khronos.org type VkFenceGetFdInfoKHR = VkStruct VkFenceGetFdInfoKHR' newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask (a :: FlagType) pattern VkFenceCreateFlagBits :: VkFlags -> VkFenceCreateBitmask FlagBit pattern VkFenceCreateFlags :: VkFlags -> VkFenceCreateBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask (a :: FlagType) pattern VkFenceImportFlagBits :: VkFlags -> VkFenceImportBitmask FlagBit pattern VkFenceImportFlags :: VkFlags -> VkFenceImportBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR type VkFenceImportFlags = VkFenceImportBitmask FlagMask -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkImportFenceFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence              fence;
--       VkFenceImportFlags  flags;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--       int                                    fd;
--   } VkImportFenceFdInfoKHR;
--   
-- -- VkImportFenceFdInfoKHR registry at www.khronos.org type VkImportFenceFdInfoKHR = VkStruct VkImportFenceFdInfoKHR' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkImportFenceFdKHR = "vkImportFenceFdKHR" pattern VkImportFenceFdKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE. -- --
--   VkResult vkImportFenceFdKHR
--       ( VkDevice device
--       , const VkImportFenceFdInfoKHR* pImportFenceFdInfo
--       )
--   
-- -- vkImportFenceFdKHR registry at www.khronos.org type HS_vkImportFenceFdKHR = VkDevice " device" -> Ptr VkImportFenceFdInfoKHR " pImportFenceFdInfo" -> IO VkResult type PFN_vkImportFenceFdKHR = FunPtr HS_vkImportFenceFdKHR type VkGetFenceFdKHR = "vkGetFenceFdKHR" pattern VkGetFenceFdKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkGetFenceFdKHR
--       ( VkDevice device
--       , const VkFenceGetFdInfoKHR* pGetFdInfo
--       , int* pFd
--       )
--   
-- -- vkGetFenceFdKHR registry at www.khronos.org type HS_vkGetFenceFdKHR = VkDevice " device" -> Ptr VkFenceGetFdInfoKHR " pGetFdInfo" -> Ptr CInt " pFd" -> IO VkResult type PFN_vkGetFenceFdKHR = FunPtr HS_vkGetFenceFdKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkFenceCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFenceCreateFlags     flags;
--   } VkFenceCreateInfo;
--   
-- -- VkFenceCreateInfo registry at www.khronos.org type VkFenceCreateInfo = VkStruct VkFenceCreateInfo' -- |
--   typedef struct VkImportMemoryFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportMemoryFdInfoKHR;
--   
-- -- VkImportMemoryFdInfoKHR registry at www.khronos.org type VkImportMemoryFdInfoKHR = VkStruct VkImportMemoryFdInfoKHR' -- |
--   typedef struct VkImportMemoryHostPointerInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       void* pHostPointer;
--   } VkImportMemoryHostPointerInfoEXT;
--   
-- -- VkImportMemoryHostPointerInfoEXT registry at www.khronos.org type VkImportMemoryHostPointerInfoEXT = VkStruct VkImportMemoryHostPointerInfoEXT' -- |
--   typedef struct VkImportSemaphoreFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore    semaphore;
--       VkSemaphoreImportFlags flags;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportSemaphoreFdInfoKHR;
--   
-- -- VkImportSemaphoreFdInfoKHR registry at www.khronos.org type VkImportSemaphoreFdInfoKHR = VkStruct VkImportSemaphoreFdInfoKHR' type VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME = "VK_KHR_external_fence_fd" pattern VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetFenceFdKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkImportFenceFdKHR" module Graphics.Vulkan.Ext.VK_KHR_external_memory_fd -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   typedef struct VkImportMemoryFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportMemoryFdInfoKHR;
--   
-- -- VkImportMemoryFdInfoKHR registry at www.khronos.org type VkImportMemoryFdInfoKHR = VkStruct VkImportMemoryFdInfoKHR' -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetMemoryFdKHR = "vkGetMemoryFdKHR" pattern VkGetMemoryFdKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkGetMemoryFdKHR
--       ( VkDevice device
--       , const VkMemoryGetFdInfoKHR* pGetFdInfo
--       , int* pFd
--       )
--   
-- -- vkGetMemoryFdKHR registry at www.khronos.org type HS_vkGetMemoryFdKHR = VkDevice " device" -> Ptr VkMemoryGetFdInfoKHR " pGetFdInfo" -> Ptr CInt " pFd" -> IO VkResult type PFN_vkGetMemoryFdKHR = FunPtr HS_vkGetMemoryFdKHR type VkGetMemoryFdPropertiesKHR = "vkGetMemoryFdPropertiesKHR" pattern VkGetMemoryFdPropertiesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE. -- --
--   VkResult vkGetMemoryFdPropertiesKHR
--       ( VkDevice device
--       , VkExternalMemoryHandleTypeFlagBits handleType
--       , int fd
--       , VkMemoryFdPropertiesKHR* pMemoryFdProperties
--       )
--   
-- -- vkGetMemoryFdPropertiesKHR registry at www.khronos.org type HS_vkGetMemoryFdPropertiesKHR = VkDevice " device" -> VkExternalMemoryHandleTypeFlagBits " handleType" -> CInt " fd" -> Ptr VkMemoryFdPropertiesKHR " pMemoryFdProperties" -> IO VkResult type PFN_vkGetMemoryFdPropertiesKHR = FunPtr HS_vkGetMemoryFdPropertiesKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' type VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd" pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetMemoryFdPropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetMemoryFdKHR" module Graphics.Vulkan.Ext.VK_NV_device_diagnostic_checkpoints -- |
--   typedef struct VkCheckpointDataNV {
--       VkStructureType sType;
--       void*                  pNext;
--       VkPipelineStageFlagBits   stage;
--       void* pCheckpointMarker;
--   } VkCheckpointDataNV;
--   
-- -- VkCheckpointDataNV registry at www.khronos.org type VkCheckpointDataNV = VkStruct VkCheckpointDataNV' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkQueueFamilyCheckpointPropertiesNV {
--       VkStructureType sType;
--       void*           pNext;
--       VkPipelineStageFlags checkpointExecutionStageMask;
--   } VkQueueFamilyCheckpointPropertiesNV;
--   
-- -- VkQueueFamilyCheckpointPropertiesNV registry at www.khronos.org type VkQueueFamilyCheckpointPropertiesNV = VkStruct VkQueueFamilyCheckpointPropertiesNV' -- |
--   typedef struct VkQueueFamilyProperties {
--       VkQueueFlags           queueFlags;
--       uint32_t               queueCount;
--       uint32_t               timestampValidBits;
--       VkExtent3D             minImageTransferGranularity;
--   } VkQueueFamilyProperties;
--   
-- -- VkQueueFamilyProperties registry at www.khronos.org type VkQueueFamilyProperties = VkStruct VkQueueFamilyProperties' -- |
--   typedef struct VkQueueFamilyProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkQueueFamilyProperties          queueFamilyProperties;
--   } VkQueueFamilyProperties2;
--   
-- -- VkQueueFamilyProperties2 registry at www.khronos.org type VkQueueFamilyProperties2 = VkStruct VkQueueFamilyProperties2' newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask (a :: FlagType) pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask -- | Queue supports graphics operations -- -- bitpos = 0 pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a -- | Queue supports compute operations -- -- bitpos = 1 pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a -- | Queue supports transfer operations -- -- bitpos = 2 pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: VkQueueGlobalPriorityEXT type VkQueueFlagBits = VkQueueBitmask FlagBit type VkQueueFlags = VkQueueBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCmdSetCheckpointNV = "vkCmdSetCheckpointNV" pattern VkCmdSetCheckpointNV :: CString -- | Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   void vkCmdSetCheckpointNV
--       ( VkCommandBuffer commandBuffer
--       , const void* pCheckpointMarker
--       )
--   
-- -- vkCmdSetCheckpointNV registry at www.khronos.org type HS_vkCmdSetCheckpointNV = VkCommandBuffer " commandBuffer" -> Ptr Void " pCheckpointMarker" -> IO () type PFN_vkCmdSetCheckpointNV = FunPtr HS_vkCmdSetCheckpointNV type VkGetQueueCheckpointDataNV = "vkGetQueueCheckpointDataNV" pattern VkGetQueueCheckpointDataNV :: CString -- |
--   void vkGetQueueCheckpointDataNV
--       ( VkQueue queue
--       , uint32_t* pCheckpointDataCount
--       , VkCheckpointDataNV* pCheckpointData
--       )
--   
-- -- vkGetQueueCheckpointDataNV registry at www.khronos.org type HS_vkGetQueueCheckpointDataNV = VkQueue " queue" -> Ptr Word32 " pCheckpointDataCount" -> Ptr VkCheckpointDataNV " pCheckpointData" -> IO () type PFN_vkGetQueueCheckpointDataNV = FunPtr HS_vkGetQueueCheckpointDataNV type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION = 2 pattern VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME = "VK_NV_device_diagnostic_checkpoints" pattern VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetQueueCheckpointDataNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetCheckpointNV" module Graphics.Vulkan.Ext.VK_KHR_incremental_present -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPresentInfoKHR {
--       VkStructureType sType;
--       const void*  pNext;
--       uint32_t         waitSemaphoreCount;
--       const VkSemaphore* pWaitSemaphores;
--       uint32_t                         swapchainCount;
--       const VkSwapchainKHR* pSwapchains;
--       const uint32_t* pImageIndices;
--       VkResult* pResults;
--   } VkPresentInfoKHR;
--   
-- -- VkPresentInfoKHR registry at www.khronos.org type VkPresentInfoKHR = VkStruct VkPresentInfoKHR' -- |
--   typedef struct VkPresentRegionKHR {
--       uint32_t         rectangleCount;
--       const VkRectLayerKHR*   pRectangles;
--   } VkPresentRegionKHR;
--   
-- -- VkPresentRegionKHR registry at www.khronos.org type VkPresentRegionKHR = VkStruct VkPresentRegionKHR' -- |
--   typedef struct VkPresentRegionsKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentRegionKHR*   pRegions;
--   } VkPresentRegionsKHR;
--   
-- -- VkPresentRegionsKHR registry at www.khronos.org type VkPresentRegionsKHR = VkStruct VkPresentRegionsKHR' -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 1 pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME = "VK_KHR_incremental_present" pattern VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_GOOGLE_display_timing -- |
--   typedef struct VkPastPresentationTimingGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--       uint64_t                         actualPresentTime;
--       uint64_t                         earliestPresentTime;
--       uint64_t                         presentMargin;
--   } VkPastPresentationTimingGOOGLE;
--   
-- -- VkPastPresentationTimingGOOGLE registry at www.khronos.org type VkPastPresentationTimingGOOGLE = VkStruct VkPastPresentationTimingGOOGLE' -- |
--   typedef struct VkPresentInfoKHR {
--       VkStructureType sType;
--       const void*  pNext;
--       uint32_t         waitSemaphoreCount;
--       const VkSemaphore* pWaitSemaphores;
--       uint32_t                         swapchainCount;
--       const VkSwapchainKHR* pSwapchains;
--       const uint32_t* pImageIndices;
--       VkResult* pResults;
--   } VkPresentInfoKHR;
--   
-- -- VkPresentInfoKHR registry at www.khronos.org type VkPresentInfoKHR = VkStruct VkPresentInfoKHR' -- |
--   typedef struct VkPresentTimeGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--   } VkPresentTimeGOOGLE;
--   
-- -- VkPresentTimeGOOGLE registry at www.khronos.org type VkPresentTimeGOOGLE = VkStruct VkPresentTimeGOOGLE' -- |
--   typedef struct VkPresentTimesInfoGOOGLE {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentTimeGOOGLE*   pTimes;
--   } VkPresentTimesInfoGOOGLE;
--   
-- -- VkPresentTimesInfoGOOGLE registry at www.khronos.org type VkPresentTimesInfoGOOGLE = VkStruct VkPresentTimesInfoGOOGLE' -- |
--   typedef struct VkRefreshCycleDurationGOOGLE {
--       uint64_t                         refreshDuration;
--   } VkRefreshCycleDurationGOOGLE;
--   
-- -- VkRefreshCycleDurationGOOGLE registry at www.khronos.org type VkRefreshCycleDurationGOOGLE = VkStruct VkRefreshCycleDurationGOOGLE' -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetRefreshCycleDurationGOOGLE = "vkGetRefreshCycleDurationGOOGLE" pattern VkGetRefreshCycleDurationGOOGLE :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_DEVICE_LOST, VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetRefreshCycleDurationGOOGLE
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties
--       )
--   
-- -- vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org type HS_vkGetRefreshCycleDurationGOOGLE = VkDevice " device" -> VkSwapchainKHR " swapchain" -> Ptr VkRefreshCycleDurationGOOGLE " pDisplayTimingProperties" -> IO VkResult type PFN_vkGetRefreshCycleDurationGOOGLE = FunPtr HS_vkGetRefreshCycleDurationGOOGLE type VkGetPastPresentationTimingGOOGLE = "vkGetPastPresentationTimingGOOGLE" pattern VkGetPastPresentationTimingGOOGLE :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_DEVICE_LOST, VK_ERROR_OUT_OF_DATE_KHR, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPastPresentationTimingGOOGLE
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint32_t* pPresentationTimingCount
--       , VkPastPresentationTimingGOOGLE* pPresentationTimings
--       )
--   
-- -- vkGetPastPresentationTimingGOOGLE registry at www.khronos.org type HS_vkGetPastPresentationTimingGOOGLE = VkDevice " device" -> VkSwapchainKHR " swapchain" -> Ptr Word32 " pPresentationTimingCount" -> Ptr VkPastPresentationTimingGOOGLE " pPresentationTimings" -> IO VkResult type PFN_vkGetPastPresentationTimingGOOGLE = FunPtr HS_vkGetPastPresentationTimingGOOGLE type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1 pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: (Num a, Eq a) => a type VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME = "VK_GOOGLE_display_timing" pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPastPresentationTimingGOOGLE" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetRefreshCycleDurationGOOGLE" module Graphics.Vulkan.Ext.VK_AMD_shader_info -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkShaderResourceUsageAMD {
--       uint32_t numUsedVgprs;
--       uint32_t numUsedSgprs;
--       uint32_t ldsSizePerLocalWorkGroup;
--       size_t ldsUsageSizeInBytes;
--       size_t scratchMemUsageInBytes;
--   } VkShaderResourceUsageAMD;
--   
-- -- VkShaderResourceUsageAMD registry at www.khronos.org type VkShaderResourceUsageAMD = VkStruct VkShaderResourceUsageAMD' -- |
--   typedef struct VkShaderStatisticsInfoAMD {
--       VkShaderStageFlags shaderStageMask;
--       VkShaderResourceUsageAMD resourceUsage;
--       uint32_t numPhysicalVgprs;
--       uint32_t numPhysicalSgprs;
--       uint32_t numAvailableVgprs;
--       uint32_t numAvailableSgprs;
--       uint32_t computeWorkGroupSize[3];
--   } VkShaderStatisticsInfoAMD;
--   
-- -- VkShaderStatisticsInfoAMD registry at www.khronos.org type VkShaderStatisticsInfoAMD = VkStruct VkShaderStatisticsInfoAMD' type VkGetShaderInfoAMD = "vkGetShaderInfoAMD" pattern VkGetShaderInfoAMD :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_FEATURE_NOT_PRESENT, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkGetShaderInfoAMD
--       ( VkDevice device
--       , VkPipeline pipeline
--       , VkShaderStageFlagBits shaderStage
--       , VkShaderInfoTypeAMD infoType
--       , size_t* pInfoSize
--       , void* pInfo
--       )
--   
-- -- vkGetShaderInfoAMD registry at www.khronos.org type HS_vkGetShaderInfoAMD = VkDevice " device" -> VkPipeline " pipeline" -> VkShaderStageFlagBits " shaderStage" -> VkShaderInfoTypeAMD " infoType" -> Ptr CSize " pInfoSize" -> Ptr Void " pInfo" -> IO VkResult type PFN_vkGetShaderInfoAMD = FunPtr HS_vkGetShaderInfoAMD -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_AMD_SHADER_INFO_SPEC_VERSION = 1 pattern VK_AMD_SHADER_INFO_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_INFO_EXTENSION_NAME = "VK_AMD_shader_info" pattern VK_AMD_SHADER_INFO_EXTENSION_NAME :: CString instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetShaderInfoAMD" module Graphics.Vulkan.Ext.VK_INTEL_performance_query -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkInitializePerformanceApiInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       void*               pUserData;
--   } VkInitializePerformanceApiInfoINTEL;
--   
-- -- VkInitializePerformanceApiInfoINTEL registry at www.khronos.org type VkInitializePerformanceApiInfoINTEL = VkStruct VkInitializePerformanceApiInfoINTEL' -- |
--   typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPerformanceConfigurationTypeINTEL type;
--   } VkPerformanceConfigurationAcquireInfoINTEL;
--   
-- -- VkPerformanceConfigurationAcquireInfoINTEL registry at -- www.khronos.org type VkPerformanceConfigurationAcquireInfoINTEL = VkStruct VkPerformanceConfigurationAcquireInfoINTEL' -- | type = enum -- -- VkPerformanceConfigurationTypeINTEL registry at www.khronos.org newtype VkPerformanceConfigurationTypeINTEL VkPerformanceConfigurationTypeINTEL :: Int32 -> VkPerformanceConfigurationTypeINTEL pattern VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL :: VkPerformanceConfigurationTypeINTEL newtype VkPerformanceCounterDescriptionBitmaskKHR (a :: FlagType) VkPerformanceCounterDescriptionBitmaskKHR :: VkFlags -> VkPerformanceCounterDescriptionBitmaskKHR (a :: FlagType) pattern VkPerformanceCounterDescriptionFlagBitsKHR :: VkFlags -> VkPerformanceCounterDescriptionBitmaskKHR FlagBit pattern VkPerformanceCounterDescriptionFlagsKHR :: VkFlags -> VkPerformanceCounterDescriptionBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR :: VkPerformanceCounterDescriptionBitmaskKHR a -- | bitpos = 1 pattern VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR :: VkPerformanceCounterDescriptionBitmaskKHR a -- | type = enum -- -- VkPerformanceCounterScopeKHR registry at www.khronos.org newtype VkPerformanceCounterScopeKHR VkPerformanceCounterScopeKHR :: Int32 -> VkPerformanceCounterScopeKHR pattern VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR :: VkPerformanceCounterScopeKHR pattern VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR :: VkPerformanceCounterScopeKHR pattern VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR :: VkPerformanceCounterScopeKHR -- | type = enum -- -- VkPerformanceCounterStorageKHR registry at www.khronos.org newtype VkPerformanceCounterStorageKHR VkPerformanceCounterStorageKHR :: Int32 -> VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR :: VkPerformanceCounterStorageKHR -- | type = enum -- -- VkPerformanceCounterUnitKHR registry at www.khronos.org newtype VkPerformanceCounterUnitKHR VkPerformanceCounterUnitKHR :: Int32 -> VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR :: VkPerformanceCounterUnitKHR -- | type = enum -- -- VkPerformanceOverrideTypeINTEL registry at www.khronos.org newtype VkPerformanceOverrideTypeINTEL VkPerformanceOverrideTypeINTEL :: Int32 -> VkPerformanceOverrideTypeINTEL pattern VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL :: VkPerformanceOverrideTypeINTEL pattern VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL :: VkPerformanceOverrideTypeINTEL -- | type = enum -- -- VkPerformanceParameterTypeINTEL registry at www.khronos.org newtype VkPerformanceParameterTypeINTEL VkPerformanceParameterTypeINTEL :: Int32 -> VkPerformanceParameterTypeINTEL pattern VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL :: VkPerformanceParameterTypeINTEL pattern VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL :: VkPerformanceParameterTypeINTEL -- | type = enum -- -- VkPerformanceValueTypeINTEL registry at www.khronos.org newtype VkPerformanceValueTypeINTEL VkPerformanceValueTypeINTEL :: Int32 -> VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL :: VkPerformanceValueTypeINTEL pattern VK_QUERY_SCOPE_COMMAND_BUFFER_KHR :: VkPerformanceCounterScopeKHR pattern VK_QUERY_SCOPE_COMMAND_KHR :: VkPerformanceCounterScopeKHR pattern VK_QUERY_SCOPE_RENDER_PASS_KHR :: VkPerformanceCounterScopeKHR type VkPerformanceCounterDescriptionFlagBitsKHR = VkPerformanceCounterDescriptionBitmaskKHR FlagBit type VkPerformanceCounterDescriptionFlagsKHR = VkPerformanceCounterDescriptionBitmaskKHR FlagMask -- |
--   typedef struct VkPerformanceMarkerInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint64_t                            marker;
--   } VkPerformanceMarkerInfoINTEL;
--   
-- -- VkPerformanceMarkerInfoINTEL registry at www.khronos.org type VkPerformanceMarkerInfoINTEL = VkStruct VkPerformanceMarkerInfoINTEL' -- |
--   typedef struct VkPerformanceOverrideInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPerformanceOverrideTypeINTEL      type;
--       VkBool32                            enable;
--       uint64_t                            parameter;
--   } VkPerformanceOverrideInfoINTEL;
--   
-- -- VkPerformanceOverrideInfoINTEL registry at www.khronos.org type VkPerformanceOverrideInfoINTEL = VkStruct VkPerformanceOverrideInfoINTEL' -- |
--   typedef struct VkPerformanceStreamMarkerInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            marker;
--   } VkPerformanceStreamMarkerInfoINTEL;
--   
-- -- VkPerformanceStreamMarkerInfoINTEL registry at www.khronos.org type VkPerformanceStreamMarkerInfoINTEL = VkStruct VkPerformanceStreamMarkerInfoINTEL' -- |
--   typedef union VkPerformanceValueDataINTEL {
--       uint32_t                           value32;
--       uint64_t                           value64;
--       float                               valueFloat;
--       VkBool32                             valueBool;
--       const char*  valueString;
--   } VkPerformanceValueDataINTEL;
--   
-- -- VkPerformanceValueDataINTEL registry at www.khronos.org type VkPerformanceValueDataINTEL = VkStruct VkPerformanceValueDataINTEL' -- |
--   typedef struct VkPerformanceValueINTEL {
--       VkPerformanceValueTypeINTEL        type;
--       VkPerformanceValueDataINTEL        data;
--   } VkPerformanceValueINTEL;
--   
-- -- VkPerformanceValueINTEL registry at www.khronos.org type VkPerformanceValueINTEL = VkStruct VkPerformanceValueINTEL' newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkQueryPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkQueryPoolCreateFlags flags;
--       VkQueryType            queryType;
--       uint32_t               queryCount;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkQueryPoolCreateInfo;
--   
-- -- VkQueryPoolCreateInfo registry at www.khronos.org type VkQueryPoolCreateInfo = VkStruct VkQueryPoolCreateInfo' -- | Alias for VkQueryPoolPerformanceQueryCreateInfoINTEL type VkQueryPoolCreateInfoINTEL = VkQueryPoolPerformanceQueryCreateInfoINTEL -- |
--   typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkQueryPoolSamplingModeINTEL        performanceCountersSampling;
--   } VkQueryPoolPerformanceQueryCreateInfoINTEL;
--   
-- -- VkQueryPoolPerformanceQueryCreateInfoINTEL registry at -- www.khronos.org type VkQueryPoolPerformanceQueryCreateInfoINTEL = VkStruct VkQueryPoolPerformanceQueryCreateInfoINTEL' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkInitializePerformanceApiINTEL = "vkInitializePerformanceApiINTEL" pattern VkInitializePerformanceApiINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkInitializePerformanceApiINTEL
--       ( VkDevice device
--       , const VkInitializePerformanceApiInfoINTEL* pInitializeInfo
--       )
--   
-- -- vkInitializePerformanceApiINTEL registry at www.khronos.org type HS_vkInitializePerformanceApiINTEL = VkDevice " device" -> Ptr VkInitializePerformanceApiInfoINTEL " pInitializeInfo" -> IO VkResult type PFN_vkInitializePerformanceApiINTEL = FunPtr HS_vkInitializePerformanceApiINTEL type VkUninitializePerformanceApiINTEL = "vkUninitializePerformanceApiINTEL" pattern VkUninitializePerformanceApiINTEL :: CString -- |
--   void vkUninitializePerformanceApiINTEL
--       ( VkDevice device
--       )
--   
-- -- vkUninitializePerformanceApiINTEL registry at www.khronos.org type HS_vkUninitializePerformanceApiINTEL = VkDevice " device" -> IO () type PFN_vkUninitializePerformanceApiINTEL = FunPtr HS_vkUninitializePerformanceApiINTEL type VkCmdSetPerformanceMarkerINTEL = "vkCmdSetPerformanceMarkerINTEL" pattern VkCmdSetPerformanceMarkerINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- -- Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   VkResult vkCmdSetPerformanceMarkerINTEL
--       ( VkCommandBuffer commandBuffer
--       , const VkPerformanceMarkerInfoINTEL* pMarkerInfo
--       )
--   
-- -- vkCmdSetPerformanceMarkerINTEL registry at www.khronos.org type HS_vkCmdSetPerformanceMarkerINTEL = VkCommandBuffer " commandBuffer" -> Ptr VkPerformanceMarkerInfoINTEL " pMarkerInfo" -> IO VkResult type PFN_vkCmdSetPerformanceMarkerINTEL = FunPtr HS_vkCmdSetPerformanceMarkerINTEL type VkCmdSetPerformanceStreamMarkerINTEL = "vkCmdSetPerformanceStreamMarkerINTEL" pattern VkCmdSetPerformanceStreamMarkerINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- -- Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   VkResult vkCmdSetPerformanceStreamMarkerINTEL
--       ( VkCommandBuffer commandBuffer
--       , const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo
--       )
--   
-- -- vkCmdSetPerformanceStreamMarkerINTEL registry at -- www.khronos.org type HS_vkCmdSetPerformanceStreamMarkerINTEL = VkCommandBuffer " commandBuffer" -> Ptr VkPerformanceStreamMarkerInfoINTEL " pMarkerInfo" -> IO VkResult type PFN_vkCmdSetPerformanceStreamMarkerINTEL = FunPtr HS_vkCmdSetPerformanceStreamMarkerINTEL type VkCmdSetPerformanceOverrideINTEL = "vkCmdSetPerformanceOverrideINTEL" pattern VkCmdSetPerformanceOverrideINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- -- Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   VkResult vkCmdSetPerformanceOverrideINTEL
--       ( VkCommandBuffer commandBuffer
--       , const VkPerformanceOverrideInfoINTEL* pOverrideInfo
--       )
--   
-- -- vkCmdSetPerformanceOverrideINTEL registry at www.khronos.org type HS_vkCmdSetPerformanceOverrideINTEL = VkCommandBuffer " commandBuffer" -> Ptr VkPerformanceOverrideInfoINTEL " pOverrideInfo" -> IO VkResult type PFN_vkCmdSetPerformanceOverrideINTEL = FunPtr HS_vkCmdSetPerformanceOverrideINTEL type VkAcquirePerformanceConfigurationINTEL = "vkAcquirePerformanceConfigurationINTEL" pattern VkAcquirePerformanceConfigurationINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkAcquirePerformanceConfigurationINTEL
--       ( VkDevice device
--       , const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo
--       , VkPerformanceConfigurationINTEL* pConfiguration
--       )
--   
-- -- vkAcquirePerformanceConfigurationINTEL registry at -- www.khronos.org type HS_vkAcquirePerformanceConfigurationINTEL = VkDevice " device" -> Ptr VkPerformanceConfigurationAcquireInfoINTEL " pAcquireInfo" -> Ptr VkPerformanceConfigurationINTEL " pConfiguration" -> IO VkResult type PFN_vkAcquirePerformanceConfigurationINTEL = FunPtr HS_vkAcquirePerformanceConfigurationINTEL type VkReleasePerformanceConfigurationINTEL = "vkReleasePerformanceConfigurationINTEL" pattern VkReleasePerformanceConfigurationINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkReleasePerformanceConfigurationINTEL
--       ( VkDevice device
--       , VkPerformanceConfigurationINTEL configuration
--       )
--   
-- -- vkReleasePerformanceConfigurationINTEL registry at -- www.khronos.org type HS_vkReleasePerformanceConfigurationINTEL = VkDevice " device" -> VkPerformanceConfigurationINTEL " configuration" -> IO VkResult type PFN_vkReleasePerformanceConfigurationINTEL = FunPtr HS_vkReleasePerformanceConfigurationINTEL type VkQueueSetPerformanceConfigurationINTEL = "vkQueueSetPerformanceConfigurationINTEL" pattern VkQueueSetPerformanceConfigurationINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkQueueSetPerformanceConfigurationINTEL
--       ( VkQueue queue
--       , VkPerformanceConfigurationINTEL configuration
--       )
--   
-- -- vkQueueSetPerformanceConfigurationINTEL registry at -- www.khronos.org type HS_vkQueueSetPerformanceConfigurationINTEL = VkQueue " queue" -> VkPerformanceConfigurationINTEL " configuration" -> IO VkResult type PFN_vkQueueSetPerformanceConfigurationINTEL = FunPtr HS_vkQueueSetPerformanceConfigurationINTEL type VkGetPerformanceParameterINTEL = "vkGetPerformanceParameterINTEL" pattern VkGetPerformanceParameterINTEL :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkGetPerformanceParameterINTEL
--       ( VkDevice device
--       , VkPerformanceParameterTypeINTEL parameter
--       , VkPerformanceValueINTEL* pValue
--       )
--   
-- -- vkGetPerformanceParameterINTEL registry at www.khronos.org type HS_vkGetPerformanceParameterINTEL = VkDevice " device" -> VkPerformanceParameterTypeINTEL " parameter" -> Ptr VkPerformanceValueINTEL " pValue" -> IO VkResult type PFN_vkGetPerformanceParameterINTEL = FunPtr HS_vkGetPerformanceParameterINTEL -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkPerformanceCounterDescriptionKHR {
--       VkStructureType sType;
--       const void*                             pNext;
--       VkPerformanceCounterDescriptionFlagsKHR flags;
--       char                                    name[VK_MAX_DESCRIPTION_SIZE];
--       char                                    category[VK_MAX_DESCRIPTION_SIZE];
--       char                                    description[VK_MAX_DESCRIPTION_SIZE];
--   } VkPerformanceCounterDescriptionKHR;
--   
-- -- VkPerformanceCounterDescriptionKHR registry at www.khronos.org type VkPerformanceCounterDescriptionKHR = VkStruct VkPerformanceCounterDescriptionKHR' -- |
--   typedef struct VkPerformanceCounterKHR {
--       VkStructureType sType;
--       const void*                             pNext;
--       VkPerformanceCounterUnitKHR        unit;
--       VkPerformanceCounterScopeKHR       scope;
--       VkPerformanceCounterStorageKHR     storage;
--       uint8_t uuid[VK_UUID_SIZE];
--   } VkPerformanceCounterKHR;
--   
-- -- VkPerformanceCounterKHR registry at www.khronos.org type VkPerformanceCounterKHR = VkStruct VkPerformanceCounterKHR' -- | // Union of all the possible return types a counter result could -- return -- --
--   typedef union VkPerformanceCounterResultKHR {
--       int32_t  int32;
--       int64_t  int64;
--       uint32_t uint32;
--       uint64_t uint64;
--       float    float32;
--       double   float64;
--   } VkPerformanceCounterResultKHR;
--   
-- -- VkPerformanceCounterResultKHR registry at www.khronos.org type VkPerformanceCounterResultKHR = VkStruct VkPerformanceCounterResultKHR' -- |
--   typedef struct VkPerformanceQuerySubmitInfoKHR {
--       VkStructureType sType;
--       const void*         pNext;
--       uint32_t            counterPassIndex;
--   } VkPerformanceQuerySubmitInfoKHR;
--   
-- -- VkPerformanceQuerySubmitInfoKHR registry at www.khronos.org type VkPerformanceQuerySubmitInfoKHR = VkStruct VkPerformanceQuerySubmitInfoKHR' type VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION = 2 pattern VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION :: (Num a, Eq a) => a type VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_INTEL_performance_query" pattern VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: VkStructureType -- | Backwards-compatible alias pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL :: VkStructureType pattern VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: VkStructureType pattern VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: VkStructureType pattern VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: VkStructureType pattern VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: VkStructureType pattern VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: VkStructureType pattern VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL :: VkQueryType pattern VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: VkObjectType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPerformanceParameterINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueSetPerformanceConfigurationINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkReleasePerformanceConfigurationINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAcquirePerformanceConfigurationINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetPerformanceOverrideINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetPerformanceStreamMarkerINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetPerformanceMarkerINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUninitializePerformanceApiINTEL" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkInitializePerformanceApiINTEL" module Graphics.Vulkan.Ext.VK_QCOM_render_pass_transform -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. -- --
--   typedef union VkClearColorValue {
--       float                  float32[4];
--       int32_t                int32[4];
--       uint32_t               uint32[4];
--   } VkClearColorValue;
--   
-- -- VkClearColorValue registry at www.khronos.org type VkClearColorValue = VkStruct VkClearColorValue' -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org type VkClearDepthStencilValue = VkStruct VkClearDepthStencilValue' -- | // Union allowing specification of color or depth and stencil values. -- Actual value selected is based on attachment being cleared. -- --
--   typedef union VkClearValue {
--       VkClearColorValue      color;
--       VkClearDepthStencilValue depthStencil;
--   } VkClearValue;
--   
-- -- VkClearValue registry at www.khronos.org type VkClearValue = VkStruct VkClearValue' -- |
--   typedef struct VkCommandBufferInheritanceInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass    renderPass;
--       uint32_t               subpass;
--       VkFramebuffer   framebuffer;
--       VkBool32               occlusionQueryEnable;
--       VkQueryControlFlags    queryFlags;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkCommandBufferInheritanceInfo;
--   
-- -- VkCommandBufferInheritanceInfo registry at www.khronos.org type VkCommandBufferInheritanceInfo = VkStruct VkCommandBufferInheritanceInfo' -- |
--   typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
--       VkStructureType sType;
--       void*                           pNext;
--       VkSurfaceTransformFlagBitsKHR   transform;
--       VkRect2D                        renderArea;
--   } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
--   
-- -- VkCommandBufferInheritanceRenderPassTransformInfoQCOM registry at -- www.khronos.org type VkCommandBufferInheritanceRenderPassTransformInfoQCOM = VkStruct VkCommandBufferInheritanceRenderPassTransformInfoQCOM' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- |
--   typedef struct VkRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass           renderPass;
--       VkFramebuffer          framebuffer;
--       VkRect2D               renderArea;
--       uint32_t               clearValueCount;
--       const VkClearValue*    pClearValues;
--   } VkRenderPassBeginInfo;
--   
-- -- VkRenderPassBeginInfo registry at www.khronos.org type VkRenderPassBeginInfo = VkStruct VkRenderPassBeginInfo' -- |
--   typedef struct VkRenderPassTransformBeginInfoQCOM {
--       VkStructureType sType;
--       void*                           pNext;
--       VkSurfaceTransformFlagBitsKHR   transform;
--   } VkRenderPassTransformBeginInfoQCOM;
--   
-- -- VkRenderPassTransformBeginInfoQCOM registry at www.khronos.org type VkRenderPassTransformBeginInfoQCOM = VkStruct VkRenderPassTransformBeginInfoQCOM' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 1 pattern VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION :: (Num a, Eq a) => a type VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME = "VK_QCOM_render_pass_transform" pattern VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: VkStructureType -- | bitpos = 1 pattern VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM :: VkRenderPassCreateBitmask a module Graphics.Vulkan.Ext.VK_KHR_get_display_properties2 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDisplayModeParametersKHR {
--       VkExtent2D                       visibleRegion;
--       uint32_t   refreshRate;
--   } VkDisplayModeParametersKHR;
--   
-- -- VkDisplayModeParametersKHR registry at www.khronos.org type VkDisplayModeParametersKHR = VkStruct VkDisplayModeParametersKHR' -- |
--   typedef struct VkDisplayModeProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayModePropertiesKHR displayModeProperties;
--   } VkDisplayModeProperties2KHR;
--   
-- -- VkDisplayModeProperties2KHR registry at www.khronos.org type VkDisplayModeProperties2KHR = VkStruct VkDisplayModeProperties2KHR' -- |
--   typedef struct VkDisplayModePropertiesKHR {
--       VkDisplayModeKHR                 displayMode;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModePropertiesKHR;
--   
-- -- VkDisplayModePropertiesKHR registry at www.khronos.org type VkDisplayModePropertiesKHR = VkStruct VkDisplayModePropertiesKHR' -- | type = enum -- -- VkDisplayEventTypeEXT registry at www.khronos.org newtype VkDisplayEventTypeEXT VkDisplayEventTypeEXT :: Int32 -> VkDisplayEventTypeEXT pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT :: VkDisplayEventTypeEXT newtype VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) VkDisplayPlaneAlphaBitmaskKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) pattern VkDisplayPlaneAlphaFlagBitsKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagBit pattern VkDisplayPlaneAlphaFlagsKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | type = enum -- -- VkDisplayPowerStateEXT registry at www.khronos.org newtype VkDisplayPowerStateEXT VkDisplayPowerStateEXT :: Int32 -> VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_OFF_EXT :: VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT :: VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_ON_EXT :: VkDisplayPowerStateEXT type VkDisplayPlaneAlphaFlagBitsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagBit type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkDisplayPlaneCapabilities2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPlaneCapabilitiesKHR capabilities;
--   } VkDisplayPlaneCapabilities2KHR;
--   
-- -- VkDisplayPlaneCapabilities2KHR registry at www.khronos.org type VkDisplayPlaneCapabilities2KHR = VkStruct VkDisplayPlaneCapabilities2KHR' -- |
--   typedef struct VkDisplayPlaneCapabilitiesKHR {
--       VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;
--       VkOffset2D                       minSrcPosition;
--       VkOffset2D                       maxSrcPosition;
--       VkExtent2D                       minSrcExtent;
--       VkExtent2D                       maxSrcExtent;
--       VkOffset2D                       minDstPosition;
--       VkOffset2D                       maxDstPosition;
--       VkExtent2D                       minDstExtent;
--       VkExtent2D                       maxDstExtent;
--   } VkDisplayPlaneCapabilitiesKHR;
--   
-- -- VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org type VkDisplayPlaneCapabilitiesKHR = VkStruct VkDisplayPlaneCapabilitiesKHR' -- |
--   typedef struct VkDisplayPlaneInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkDisplayModeKHR mode;
--       uint32_t planeIndex;
--   } VkDisplayPlaneInfo2KHR;
--   
-- -- VkDisplayPlaneInfo2KHR registry at www.khronos.org type VkDisplayPlaneInfo2KHR = VkStruct VkDisplayPlaneInfo2KHR' -- |
--   typedef struct VkDisplayPlaneProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPlanePropertiesKHR displayPlaneProperties;
--   } VkDisplayPlaneProperties2KHR;
--   
-- -- VkDisplayPlaneProperties2KHR registry at www.khronos.org type VkDisplayPlaneProperties2KHR = VkStruct VkDisplayPlaneProperties2KHR' -- |
--   typedef struct VkDisplayPlanePropertiesKHR {
--       VkDisplayKHR                     currentDisplay;
--       uint32_t                         currentStackIndex;
--   } VkDisplayPlanePropertiesKHR;
--   
-- -- VkDisplayPlanePropertiesKHR registry at www.khronos.org type VkDisplayPlanePropertiesKHR = VkStruct VkDisplayPlanePropertiesKHR' -- |
--   typedef struct VkDisplayProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPropertiesKHR displayProperties;
--   } VkDisplayProperties2KHR;
--   
-- -- VkDisplayProperties2KHR registry at www.khronos.org type VkDisplayProperties2KHR = VkStruct VkDisplayProperties2KHR' -- |
--   typedef struct VkDisplayPropertiesKHR {
--       VkDisplayKHR                     display;
--       const char*                      displayName;
--       VkExtent2D                       physicalDimensions;
--       VkExtent2D                       physicalResolution;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkBool32                         planeReorderPossible;
--       VkBool32                         persistentContent;
--   } VkDisplayPropertiesKHR;
--   
-- -- VkDisplayPropertiesKHR registry at www.khronos.org type VkDisplayPropertiesKHR = VkStruct VkDisplayPropertiesKHR' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkGetPhysicalDeviceDisplayProperties2KHR = "vkGetPhysicalDeviceDisplayProperties2KHR" pattern VkGetPhysicalDeviceDisplayProperties2KHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayProperties2KHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayProperties2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceDisplayProperties2KHR = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pPropertyCount" -> Ptr VkDisplayProperties2KHR " pProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = FunPtr HS_vkGetPhysicalDeviceDisplayProperties2KHR type VkGetPhysicalDeviceDisplayPlaneProperties2KHR = "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPlaneProperties2KHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPlaneProperties2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pPropertyCount" -> Ptr VkDisplayPlaneProperties2KHR " pProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = FunPtr HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR type VkGetDisplayModeProperties2KHR = "vkGetDisplayModeProperties2KHR" pattern VkGetDisplayModeProperties2KHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayModeProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , uint32_t* pPropertyCount
--       , VkDisplayModeProperties2KHR* pProperties
--       )
--   
-- -- vkGetDisplayModeProperties2KHR registry at www.khronos.org type HS_vkGetDisplayModeProperties2KHR = VkPhysicalDevice " physicalDevice" -> VkDisplayKHR " display" -> Ptr Word32 " pPropertyCount" -> Ptr VkDisplayModeProperties2KHR " pProperties" -> IO VkResult type PFN_vkGetDisplayModeProperties2KHR = FunPtr HS_vkGetDisplayModeProperties2KHR type VkGetDisplayPlaneCapabilities2KHR = "vkGetDisplayPlaneCapabilities2KHR" pattern VkGetDisplayPlaneCapabilities2KHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneCapabilities2KHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo
--       , VkDisplayPlaneCapabilities2KHR* pCapabilities
--       )
--   
-- -- vkGetDisplayPlaneCapabilities2KHR registry at www.khronos.org type HS_vkGetDisplayPlaneCapabilities2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkDisplayPlaneInfo2KHR " pDisplayPlaneInfo" -> Ptr VkDisplayPlaneCapabilities2KHR " pCapabilities" -> IO VkResult type PFN_vkGetDisplayPlaneCapabilities2KHR = FunPtr HS_vkGetDisplayPlaneCapabilities2KHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkDisplayEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayEventTypeEXT            displayEvent;
--   } VkDisplayEventInfoEXT;
--   
-- -- VkDisplayEventInfoEXT registry at www.khronos.org type VkDisplayEventInfoEXT = VkStruct VkDisplayEventInfoEXT' -- |
--   typedef struct VkDisplayModeCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayModeCreateFlagsKHR      flags;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModeCreateInfoKHR;
--   
-- -- VkDisplayModeCreateInfoKHR registry at www.khronos.org type VkDisplayModeCreateInfoKHR = VkStruct VkDisplayModeCreateInfoKHR' -- |
--   typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
--       VkStructureType sType;
--       void*          pNext;
--       VkBool32       localDimmingSupport;
--   } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
--   
-- -- VkDisplayNativeHdrSurfaceCapabilitiesAMD registry at -- www.khronos.org type VkDisplayNativeHdrSurfaceCapabilitiesAMD = VkStruct VkDisplayNativeHdrSurfaceCapabilitiesAMD' -- |
--   typedef struct VkDisplayPowerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayPowerStateEXT           powerState;
--   } VkDisplayPowerInfoEXT;
--   
-- -- VkDisplayPowerInfoEXT registry at www.khronos.org type VkDisplayPowerInfoEXT = VkStruct VkDisplayPowerInfoEXT' -- |
--   typedef struct VkDisplayPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRect2D                         srcRect;
--       VkRect2D                         dstRect;
--       VkBool32                         persistent;
--   } VkDisplayPresentInfoKHR;
--   
-- -- VkDisplayPresentInfoKHR registry at www.khronos.org type VkDisplayPresentInfoKHR = VkStruct VkDisplayPresentInfoKHR' -- |
--   typedef struct VkDisplaySurfaceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplaySurfaceCreateFlagsKHR   flags;
--       VkDisplayModeKHR                 displayMode;
--       uint32_t                         planeIndex;
--       uint32_t                         planeStackIndex;
--       VkSurfaceTransformFlagBitsKHR    transform;
--       float                            globalAlpha;
--       VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;
--       VkExtent2D                       imageExtent;
--   } VkDisplaySurfaceCreateInfoKHR;
--   
-- -- VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org type VkDisplaySurfaceCreateInfoKHR = VkStruct VkDisplaySurfaceCreateInfoKHR' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' type VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1 pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_display_properties2" pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayPlaneCapabilities2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayModeProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayProperties2KHR" module Graphics.Vulkan.Ext.VK_KHR_display -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDisplayModeCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayModeCreateFlagsKHR      flags;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModeCreateInfoKHR;
--   
-- -- VkDisplayModeCreateInfoKHR registry at www.khronos.org type VkDisplayModeCreateInfoKHR = VkStruct VkDisplayModeCreateInfoKHR' -- |
--   typedef struct VkDisplayModeParametersKHR {
--       VkExtent2D                       visibleRegion;
--       uint32_t   refreshRate;
--   } VkDisplayModeParametersKHR;
--   
-- -- VkDisplayModeParametersKHR registry at www.khronos.org type VkDisplayModeParametersKHR = VkStruct VkDisplayModeParametersKHR' -- |
--   typedef struct VkDisplayModePropertiesKHR {
--       VkDisplayModeKHR                 displayMode;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModePropertiesKHR;
--   
-- -- VkDisplayModePropertiesKHR registry at www.khronos.org type VkDisplayModePropertiesKHR = VkStruct VkDisplayModePropertiesKHR' -- | type = enum -- -- VkDisplayEventTypeEXT registry at www.khronos.org newtype VkDisplayEventTypeEXT VkDisplayEventTypeEXT :: Int32 -> VkDisplayEventTypeEXT pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT :: VkDisplayEventTypeEXT newtype VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) VkDisplayPlaneAlphaBitmaskKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) pattern VkDisplayPlaneAlphaFlagBitsKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagBit pattern VkDisplayPlaneAlphaFlagsKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | type = enum -- -- VkDisplayPowerStateEXT registry at www.khronos.org newtype VkDisplayPowerStateEXT VkDisplayPowerStateEXT :: Int32 -> VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_OFF_EXT :: VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT :: VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_ON_EXT :: VkDisplayPowerStateEXT type VkDisplayPlaneAlphaFlagBitsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagBit type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkDisplayPlaneCapabilitiesKHR {
--       VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;
--       VkOffset2D                       minSrcPosition;
--       VkOffset2D                       maxSrcPosition;
--       VkExtent2D                       minSrcExtent;
--       VkExtent2D                       maxSrcExtent;
--       VkOffset2D                       minDstPosition;
--       VkOffset2D                       maxDstPosition;
--       VkExtent2D                       minDstExtent;
--       VkExtent2D                       maxDstExtent;
--   } VkDisplayPlaneCapabilitiesKHR;
--   
-- -- VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org type VkDisplayPlaneCapabilitiesKHR = VkStruct VkDisplayPlaneCapabilitiesKHR' -- |
--   typedef struct VkDisplayPlanePropertiesKHR {
--       VkDisplayKHR                     currentDisplay;
--       uint32_t                         currentStackIndex;
--   } VkDisplayPlanePropertiesKHR;
--   
-- -- VkDisplayPlanePropertiesKHR registry at www.khronos.org type VkDisplayPlanePropertiesKHR = VkStruct VkDisplayPlanePropertiesKHR' -- |
--   typedef struct VkDisplayPropertiesKHR {
--       VkDisplayKHR                     display;
--       const char*                      displayName;
--       VkExtent2D                       physicalDimensions;
--       VkExtent2D                       physicalResolution;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkBool32                         planeReorderPossible;
--       VkBool32                         persistentContent;
--   } VkDisplayPropertiesKHR;
--   
-- -- VkDisplayPropertiesKHR registry at www.khronos.org type VkDisplayPropertiesKHR = VkStruct VkDisplayPropertiesKHR' -- |
--   typedef struct VkDisplaySurfaceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplaySurfaceCreateFlagsKHR   flags;
--       VkDisplayModeKHR                 displayMode;
--       uint32_t                         planeIndex;
--       uint32_t                         planeStackIndex;
--       VkSurfaceTransformFlagBitsKHR    transform;
--       float                            globalAlpha;
--       VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;
--       VkExtent2D                       imageExtent;
--   } VkDisplaySurfaceCreateInfoKHR;
--   
-- -- VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org type VkDisplaySurfaceCreateInfoKHR = VkStruct VkDisplaySurfaceCreateInfoKHR' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkGetPhysicalDeviceDisplayPropertiesKHR = "vkGetPhysicalDeviceDisplayPropertiesKHR" pattern VkGetPhysicalDeviceDisplayPropertiesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPropertiesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceDisplayPropertiesKHR = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pPropertyCount" -> Ptr VkDisplayPropertiesKHR " pProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = FunPtr HS_vkGetPhysicalDeviceDisplayPropertiesKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPropertiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR
--   
-- -- Note: vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe -- and vkGetPhysicalDeviceDisplayPropertiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceDisplayPropertiesKHR is an -- alias of vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceDisplayPropertiesKHRSafe. vkGetPhysicalDeviceDisplayPropertiesKHR :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPropertiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPropertiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR
--   
-- -- Note: vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe -- and vkGetPhysicalDeviceDisplayPropertiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceDisplayPropertiesKHR is an -- alias of vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceDisplayPropertiesKHRSafe. vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPropertiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPropertiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR
--   
-- -- Note: vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe -- and vkGetPhysicalDeviceDisplayPropertiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceDisplayPropertiesKHR is an -- alias of vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceDisplayPropertiesKHRSafe. vkGetPhysicalDeviceDisplayPropertiesKHRSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPropertiesKHR -> IO VkResult type VkGetPhysicalDeviceDisplayPlanePropertiesKHR = "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" pattern VkGetPhysicalDeviceDisplayPlanePropertiesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPlanePropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pPropertyCount" -> Ptr VkDisplayPlanePropertiesKHR " pProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = FunPtr HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPlanePropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR
--   
-- -- Note: -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe and -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceDisplayPlanePropertiesKHR is -- an alias of -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe. vkGetPhysicalDeviceDisplayPlanePropertiesKHR :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPlanePropertiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPlanePropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR
--   
-- -- Note: -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe and -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceDisplayPlanePropertiesKHR is -- an alias of -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe. vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPlanePropertiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkDisplayPlanePropertiesKHR* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR
--   
-- -- Note: -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe and -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceDisplayPlanePropertiesKHR is -- an alias of -- vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe. vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPlanePropertiesKHR -> IO VkResult type VkGetDisplayPlaneSupportedDisplaysKHR = "vkGetDisplayPlaneSupportedDisplaysKHR" pattern VkGetDisplayPlaneSupportedDisplaysKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneSupportedDisplaysKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t planeIndex
--       , uint32_t* pDisplayCount
--       , VkDisplayKHR* pDisplays
--       )
--   
-- -- vkGetDisplayPlaneSupportedDisplaysKHR registry at -- www.khronos.org type HS_vkGetDisplayPlaneSupportedDisplaysKHR = VkPhysicalDevice " physicalDevice" -> Word32 " planeIndex" -> Ptr Word32 " pDisplayCount" -> Ptr VkDisplayKHR " pDisplays" -> IO VkResult type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = FunPtr HS_vkGetDisplayPlaneSupportedDisplaysKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneSupportedDisplaysKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t planeIndex
--       , uint32_t* pDisplayCount
--       , VkDisplayKHR* pDisplays
--       )
--   
-- -- vkGetDisplayPlaneSupportedDisplaysKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayPlaneSupportedDisplaysKHR <- vkGetInstanceProc @VkGetDisplayPlaneSupportedDisplaysKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR
--   
-- -- Note: vkGetDisplayPlaneSupportedDisplaysKHRUnsafe and -- vkGetDisplayPlaneSupportedDisplaysKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDisplayPlaneSupportedDisplaysKHR is an -- alias of vkGetDisplayPlaneSupportedDisplaysKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayPlaneSupportedDisplaysKHRSafe. vkGetDisplayPlaneSupportedDisplaysKHR :: VkPhysicalDevice -> Word32 -> Ptr Word32 -> Ptr VkDisplayKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneSupportedDisplaysKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t planeIndex
--       , uint32_t* pDisplayCount
--       , VkDisplayKHR* pDisplays
--       )
--   
-- -- vkGetDisplayPlaneSupportedDisplaysKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayPlaneSupportedDisplaysKHR <- vkGetInstanceProc @VkGetDisplayPlaneSupportedDisplaysKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR
--   
-- -- Note: vkGetDisplayPlaneSupportedDisplaysKHRUnsafe and -- vkGetDisplayPlaneSupportedDisplaysKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDisplayPlaneSupportedDisplaysKHR is an -- alias of vkGetDisplayPlaneSupportedDisplaysKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayPlaneSupportedDisplaysKHRSafe. vkGetDisplayPlaneSupportedDisplaysKHRUnsafe :: VkPhysicalDevice -> Word32 -> Ptr Word32 -> Ptr VkDisplayKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneSupportedDisplaysKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t planeIndex
--       , uint32_t* pDisplayCount
--       , VkDisplayKHR* pDisplays
--       )
--   
-- -- vkGetDisplayPlaneSupportedDisplaysKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayPlaneSupportedDisplaysKHR <- vkGetInstanceProc @VkGetDisplayPlaneSupportedDisplaysKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR
--   
-- -- Note: vkGetDisplayPlaneSupportedDisplaysKHRUnsafe and -- vkGetDisplayPlaneSupportedDisplaysKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDisplayPlaneSupportedDisplaysKHR is an -- alias of vkGetDisplayPlaneSupportedDisplaysKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayPlaneSupportedDisplaysKHRSafe. vkGetDisplayPlaneSupportedDisplaysKHRSafe :: VkPhysicalDevice -> Word32 -> Ptr Word32 -> Ptr VkDisplayKHR -> IO VkResult type VkGetDisplayModePropertiesKHR = "vkGetDisplayModePropertiesKHR" pattern VkGetDisplayModePropertiesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayModePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , uint32_t* pPropertyCount
--       , VkDisplayModePropertiesKHR* pProperties
--       )
--   
-- -- vkGetDisplayModePropertiesKHR registry at www.khronos.org type HS_vkGetDisplayModePropertiesKHR = VkPhysicalDevice " physicalDevice" -> VkDisplayKHR " display" -> Ptr Word32 " pPropertyCount" -> Ptr VkDisplayModePropertiesKHR " pProperties" -> IO VkResult type PFN_vkGetDisplayModePropertiesKHR = FunPtr HS_vkGetDisplayModePropertiesKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayModePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , uint32_t* pPropertyCount
--       , VkDisplayModePropertiesKHR* pProperties
--       )
--   
-- -- vkGetDisplayModePropertiesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayModePropertiesKHR <- vkGetInstanceProc @VkGetDisplayModePropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR
--   
-- -- Note: vkGetDisplayModePropertiesKHRUnsafe and -- vkGetDisplayModePropertiesKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDisplayModePropertiesKHR is an alias of -- vkGetDisplayModePropertiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayModePropertiesKHRSafe. vkGetDisplayModePropertiesKHR :: VkPhysicalDevice -> VkDisplayKHR -> Ptr Word32 -> Ptr VkDisplayModePropertiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayModePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , uint32_t* pPropertyCount
--       , VkDisplayModePropertiesKHR* pProperties
--       )
--   
-- -- vkGetDisplayModePropertiesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayModePropertiesKHR <- vkGetInstanceProc @VkGetDisplayModePropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR
--   
-- -- Note: vkGetDisplayModePropertiesKHRUnsafe and -- vkGetDisplayModePropertiesKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDisplayModePropertiesKHR is an alias of -- vkGetDisplayModePropertiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayModePropertiesKHRSafe. vkGetDisplayModePropertiesKHRUnsafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr Word32 -> Ptr VkDisplayModePropertiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayModePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , uint32_t* pPropertyCount
--       , VkDisplayModePropertiesKHR* pProperties
--       )
--   
-- -- vkGetDisplayModePropertiesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayModePropertiesKHR <- vkGetInstanceProc @VkGetDisplayModePropertiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR
--   
-- -- Note: vkGetDisplayModePropertiesKHRUnsafe and -- vkGetDisplayModePropertiesKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDisplayModePropertiesKHR is an alias of -- vkGetDisplayModePropertiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayModePropertiesKHRSafe. vkGetDisplayModePropertiesKHRSafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr Word32 -> Ptr VkDisplayModePropertiesKHR -> IO VkResult type VkCreateDisplayModeKHR = "vkCreateDisplayModeKHR" pattern VkCreateDisplayModeKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateDisplayModeKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , const VkDisplayModeCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDisplayModeKHR* pMode
--       )
--   
-- -- vkCreateDisplayModeKHR registry at www.khronos.org type HS_vkCreateDisplayModeKHR = VkPhysicalDevice " physicalDevice" -> VkDisplayKHR " display" -> Ptr VkDisplayModeCreateInfoKHR " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDisplayModeKHR " pMode" -> IO VkResult type PFN_vkCreateDisplayModeKHR = FunPtr HS_vkCreateDisplayModeKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateDisplayModeKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , const VkDisplayModeCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDisplayModeKHR* pMode
--       )
--   
-- -- vkCreateDisplayModeKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDisplayModeKHR <- vkGetInstanceProc @VkCreateDisplayModeKHR vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR
--   
-- -- Note: vkCreateDisplayModeKHRUnsafe and -- vkCreateDisplayModeKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDisplayModeKHR is an alias of -- vkCreateDisplayModeKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDisplayModeKHRSafe. vkCreateDisplayModeKHR :: VkPhysicalDevice -> VkDisplayKHR -> Ptr VkDisplayModeCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkDisplayModeKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateDisplayModeKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , const VkDisplayModeCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDisplayModeKHR* pMode
--       )
--   
-- -- vkCreateDisplayModeKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDisplayModeKHR <- vkGetInstanceProc @VkCreateDisplayModeKHR vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR
--   
-- -- Note: vkCreateDisplayModeKHRUnsafe and -- vkCreateDisplayModeKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDisplayModeKHR is an alias of -- vkCreateDisplayModeKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDisplayModeKHRSafe. vkCreateDisplayModeKHRUnsafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr VkDisplayModeCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkDisplayModeKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateDisplayModeKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayKHR display
--       , const VkDisplayModeCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDisplayModeKHR* pMode
--       )
--   
-- -- vkCreateDisplayModeKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDisplayModeKHR <- vkGetInstanceProc @VkCreateDisplayModeKHR vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR
--   
-- -- Note: vkCreateDisplayModeKHRUnsafe and -- vkCreateDisplayModeKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDisplayModeKHR is an alias of -- vkCreateDisplayModeKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDisplayModeKHRSafe. vkCreateDisplayModeKHRSafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr VkDisplayModeCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkDisplayModeKHR -> IO VkResult type VkGetDisplayPlaneCapabilitiesKHR = "vkGetDisplayPlaneCapabilitiesKHR" pattern VkGetDisplayPlaneCapabilitiesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayModeKHR mode
--       , uint32_t planeIndex
--       , VkDisplayPlaneCapabilitiesKHR* pCapabilities
--       )
--   
-- -- vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org type HS_vkGetDisplayPlaneCapabilitiesKHR = VkPhysicalDevice " physicalDevice" -> VkDisplayModeKHR " mode" -> Word32 " planeIndex" -> Ptr VkDisplayPlaneCapabilitiesKHR " pCapabilities" -> IO VkResult type PFN_vkGetDisplayPlaneCapabilitiesKHR = FunPtr HS_vkGetDisplayPlaneCapabilitiesKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayModeKHR mode
--       , uint32_t planeIndex
--       , VkDisplayPlaneCapabilitiesKHR* pCapabilities
--       )
--   
-- -- vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayPlaneCapabilitiesKHR <- vkGetInstanceProc @VkGetDisplayPlaneCapabilitiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR
--   
-- -- Note: vkGetDisplayPlaneCapabilitiesKHRUnsafe and -- vkGetDisplayPlaneCapabilitiesKHRSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetDisplayPlaneCapabilitiesKHR is an alias of -- vkGetDisplayPlaneCapabilitiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayPlaneCapabilitiesKHRSafe. vkGetDisplayPlaneCapabilitiesKHR :: VkPhysicalDevice -> VkDisplayModeKHR -> Word32 -> Ptr VkDisplayPlaneCapabilitiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayModeKHR mode
--       , uint32_t planeIndex
--       , VkDisplayPlaneCapabilitiesKHR* pCapabilities
--       )
--   
-- -- vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayPlaneCapabilitiesKHR <- vkGetInstanceProc @VkGetDisplayPlaneCapabilitiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR
--   
-- -- Note: vkGetDisplayPlaneCapabilitiesKHRUnsafe and -- vkGetDisplayPlaneCapabilitiesKHRSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetDisplayPlaneCapabilitiesKHR is an alias of -- vkGetDisplayPlaneCapabilitiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayPlaneCapabilitiesKHRSafe. vkGetDisplayPlaneCapabilitiesKHRUnsafe :: VkPhysicalDevice -> VkDisplayModeKHR -> Word32 -> Ptr VkDisplayPlaneCapabilitiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDisplayPlaneCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkDisplayModeKHR mode
--       , uint32_t planeIndex
--       , VkDisplayPlaneCapabilitiesKHR* pCapabilities
--       )
--   
-- -- vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDisplayPlaneCapabilitiesKHR <- vkGetInstanceProc @VkGetDisplayPlaneCapabilitiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR
--   
-- -- Note: vkGetDisplayPlaneCapabilitiesKHRUnsafe and -- vkGetDisplayPlaneCapabilitiesKHRSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetDisplayPlaneCapabilitiesKHR is an alias of -- vkGetDisplayPlaneCapabilitiesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDisplayPlaneCapabilitiesKHRSafe. vkGetDisplayPlaneCapabilitiesKHRSafe :: VkPhysicalDevice -> VkDisplayModeKHR -> Word32 -> Ptr VkDisplayPlaneCapabilitiesKHR -> IO VkResult type VkCreateDisplayPlaneSurfaceKHR = "vkCreateDisplayPlaneSurfaceKHR" pattern VkCreateDisplayPlaneSurfaceKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDisplayPlaneSurfaceKHR
--       ( VkInstance instance
--       , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSurfaceKHR* pSurface
--       )
--   
-- -- vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org type HS_vkCreateDisplayPlaneSurfaceKHR = VkInstance " instance" -> Ptr VkDisplaySurfaceCreateInfoKHR " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSurfaceKHR " pSurface" -> IO VkResult type PFN_vkCreateDisplayPlaneSurfaceKHR = FunPtr HS_vkCreateDisplayPlaneSurfaceKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDisplayPlaneSurfaceKHR
--       ( VkInstance instance
--       , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSurfaceKHR* pSurface
--       )
--   
-- -- vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDisplayPlaneSurfaceKHR <- vkGetInstanceProc @VkCreateDisplayPlaneSurfaceKHR vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR
--   
-- -- Note: vkCreateDisplayPlaneSurfaceKHRUnsafe and -- vkCreateDisplayPlaneSurfaceKHRSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateDisplayPlaneSurfaceKHR is an alias of -- vkCreateDisplayPlaneSurfaceKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDisplayPlaneSurfaceKHRSafe. vkCreateDisplayPlaneSurfaceKHR :: VkInstance -> Ptr VkDisplaySurfaceCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSurfaceKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDisplayPlaneSurfaceKHR
--       ( VkInstance instance
--       , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSurfaceKHR* pSurface
--       )
--   
-- -- vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDisplayPlaneSurfaceKHR <- vkGetInstanceProc @VkCreateDisplayPlaneSurfaceKHR vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR
--   
-- -- Note: vkCreateDisplayPlaneSurfaceKHRUnsafe and -- vkCreateDisplayPlaneSurfaceKHRSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateDisplayPlaneSurfaceKHR is an alias of -- vkCreateDisplayPlaneSurfaceKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDisplayPlaneSurfaceKHRSafe. vkCreateDisplayPlaneSurfaceKHRUnsafe :: VkInstance -> Ptr VkDisplaySurfaceCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSurfaceKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDisplayPlaneSurfaceKHR
--       ( VkInstance instance
--       , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSurfaceKHR* pSurface
--       )
--   
-- -- vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDisplayPlaneSurfaceKHR <- vkGetInstanceProc @VkCreateDisplayPlaneSurfaceKHR vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR
--   
-- -- Note: vkCreateDisplayPlaneSurfaceKHRUnsafe and -- vkCreateDisplayPlaneSurfaceKHRSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateDisplayPlaneSurfaceKHR is an alias of -- vkCreateDisplayPlaneSurfaceKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDisplayPlaneSurfaceKHRSafe. vkCreateDisplayPlaneSurfaceKHRSafe :: VkInstance -> Ptr VkDisplaySurfaceCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSurfaceKHR -> IO VkResult -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkDisplayEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayEventTypeEXT            displayEvent;
--   } VkDisplayEventInfoEXT;
--   
-- -- VkDisplayEventInfoEXT registry at www.khronos.org type VkDisplayEventInfoEXT = VkStruct VkDisplayEventInfoEXT' -- |
--   typedef struct VkDisplayModeProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayModePropertiesKHR displayModeProperties;
--   } VkDisplayModeProperties2KHR;
--   
-- -- VkDisplayModeProperties2KHR registry at www.khronos.org type VkDisplayModeProperties2KHR = VkStruct VkDisplayModeProperties2KHR' -- |
--   typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
--       VkStructureType sType;
--       void*          pNext;
--       VkBool32       localDimmingSupport;
--   } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
--   
-- -- VkDisplayNativeHdrSurfaceCapabilitiesAMD registry at -- www.khronos.org type VkDisplayNativeHdrSurfaceCapabilitiesAMD = VkStruct VkDisplayNativeHdrSurfaceCapabilitiesAMD' -- |
--   typedef struct VkDisplayPlaneCapabilities2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPlaneCapabilitiesKHR capabilities;
--   } VkDisplayPlaneCapabilities2KHR;
--   
-- -- VkDisplayPlaneCapabilities2KHR registry at www.khronos.org type VkDisplayPlaneCapabilities2KHR = VkStruct VkDisplayPlaneCapabilities2KHR' -- |
--   typedef struct VkDisplayPlaneInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkDisplayModeKHR mode;
--       uint32_t planeIndex;
--   } VkDisplayPlaneInfo2KHR;
--   
-- -- VkDisplayPlaneInfo2KHR registry at www.khronos.org type VkDisplayPlaneInfo2KHR = VkStruct VkDisplayPlaneInfo2KHR' -- |
--   typedef struct VkDisplayPlaneProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPlanePropertiesKHR displayPlaneProperties;
--   } VkDisplayPlaneProperties2KHR;
--   
-- -- VkDisplayPlaneProperties2KHR registry at www.khronos.org type VkDisplayPlaneProperties2KHR = VkStruct VkDisplayPlaneProperties2KHR' -- |
--   typedef struct VkDisplayPowerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayPowerStateEXT           powerState;
--   } VkDisplayPowerInfoEXT;
--   
-- -- VkDisplayPowerInfoEXT registry at www.khronos.org type VkDisplayPowerInfoEXT = VkStruct VkDisplayPowerInfoEXT' -- |
--   typedef struct VkDisplayPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRect2D                         srcRect;
--       VkRect2D                         dstRect;
--       VkBool32                         persistent;
--   } VkDisplayPresentInfoKHR;
--   
-- -- VkDisplayPresentInfoKHR registry at www.khronos.org type VkDisplayPresentInfoKHR = VkStruct VkDisplayPresentInfoKHR' -- |
--   typedef struct VkDisplayProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPropertiesKHR displayProperties;
--   } VkDisplayProperties2KHR;
--   
-- -- VkDisplayProperties2KHR registry at www.khronos.org type VkDisplayProperties2KHR = VkStruct VkDisplayProperties2KHR' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' type VK_KHR_DISPLAY_SPEC_VERSION = 23 pattern VK_KHR_DISPLAY_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display" pattern VK_KHR_DISPLAY_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: VkStructureType -- | VkDisplayKHR pattern VK_OBJECT_TYPE_DISPLAY_KHR :: VkObjectType -- | VkDisplayModeKHR pattern VK_OBJECT_TYPE_DISPLAY_MODE_KHR :: VkObjectType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDisplayPlaneSurfaceKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayPlaneCapabilitiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDisplayModeKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayModePropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayPlaneSupportedDisplaysKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayPropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_surface_protected_capabilities -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org type VkSurfaceCapabilities2KHR = VkStruct VkSurfaceCapabilities2KHR' -- |
--   typedef struct VkSurfaceCapabilitiesKHR {
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--   } VkSurfaceCapabilitiesKHR;
--   
-- -- VkSurfaceCapabilitiesKHR registry at www.khronos.org type VkSurfaceCapabilitiesKHR = VkStruct VkSurfaceCapabilitiesKHR' -- |
--   typedef struct VkSurfaceProtectedCapabilitiesKHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkBool32 supportsProtected;
--   } VkSurfaceProtectedCapabilitiesKHR;
--   
-- -- VkSurfaceProtectedCapabilitiesKHR registry at www.khronos.org type VkSurfaceProtectedCapabilitiesKHR = VkStruct VkSurfaceProtectedCapabilitiesKHR' newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION = 1 pattern VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME = "VK_KHR_surface_protected_capabilities" pattern VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_surface -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR -- |
--   typedef struct VkSurfaceCapabilitiesKHR {
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--   } VkSurfaceCapabilitiesKHR;
--   
-- -- VkSurfaceCapabilitiesKHR registry at www.khronos.org type VkSurfaceCapabilitiesKHR = VkStruct VkSurfaceCapabilitiesKHR' -- |
--   typedef struct VkSurfaceFormatKHR {
--       VkFormat                         format;
--       VkColorSpaceKHR                  colorSpace;
--   } VkSurfaceFormatKHR;
--   
-- -- VkSurfaceFormatKHR registry at www.khronos.org type VkSurfaceFormatKHR = VkStruct VkSurfaceFormatKHR' newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkDestroySurfaceKHR = "vkDestroySurfaceKHR" pattern VkDestroySurfaceKHR :: CString -- |
--   void vkDestroySurfaceKHR
--       ( VkInstance instance
--       , VkSurfaceKHR surface
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySurfaceKHR registry at www.khronos.org type HS_vkDestroySurfaceKHR = VkInstance " instance" -> VkSurfaceKHR " surface" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroySurfaceKHR = FunPtr HS_vkDestroySurfaceKHR -- |
--   void vkDestroySurfaceKHR
--       ( VkInstance instance
--       , VkSurfaceKHR surface
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySurfaceKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySurfaceKHR <- vkGetInstanceProc @VkDestroySurfaceKHR vkInstance
--   
-- -- or less efficient: -- --
--   myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR
--   
-- -- Note: vkDestroySurfaceKHRUnsafe and -- vkDestroySurfaceKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySurfaceKHR is an alias of -- vkDestroySurfaceKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySurfaceKHRSafe. vkDestroySurfaceKHR :: VkInstance -> VkSurfaceKHR -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySurfaceKHR
--       ( VkInstance instance
--       , VkSurfaceKHR surface
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySurfaceKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySurfaceKHR <- vkGetInstanceProc @VkDestroySurfaceKHR vkInstance
--   
-- -- or less efficient: -- --
--   myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR
--   
-- -- Note: vkDestroySurfaceKHRUnsafe and -- vkDestroySurfaceKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySurfaceKHR is an alias of -- vkDestroySurfaceKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySurfaceKHRSafe. vkDestroySurfaceKHRUnsafe :: VkInstance -> VkSurfaceKHR -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySurfaceKHR
--       ( VkInstance instance
--       , VkSurfaceKHR surface
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySurfaceKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySurfaceKHR <- vkGetInstanceProc @VkDestroySurfaceKHR vkInstance
--   
-- -- or less efficient: -- --
--   myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR
--   
-- -- Note: vkDestroySurfaceKHRUnsafe and -- vkDestroySurfaceKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySurfaceKHR is an alias of -- vkDestroySurfaceKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySurfaceKHRSafe. vkDestroySurfaceKHRSafe :: VkInstance -> VkSurfaceKHR -> Ptr VkAllocationCallbacks -> IO () type VkGetPhysicalDeviceSurfaceSupportKHR = "vkGetPhysicalDeviceSurfaceSupportKHR" pattern VkGetPhysicalDeviceSurfaceSupportKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceSupportKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t queueFamilyIndex
--       , VkSurfaceKHR surface
--       , VkBool32* pSupported
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceSupportKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSurfaceSupportKHR = VkPhysicalDevice " physicalDevice" -> Word32 " queueFamilyIndex" -> VkSurfaceKHR " surface" -> Ptr VkBool32 " pSupported" -> IO VkResult type PFN_vkGetPhysicalDeviceSurfaceSupportKHR = FunPtr HS_vkGetPhysicalDeviceSurfaceSupportKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceSupportKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t queueFamilyIndex
--       , VkSurfaceKHR surface
--       , VkBool32* pSupported
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceSupportKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceSupportKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceSupportKHRUnsafe and -- vkGetPhysicalDeviceSurfaceSupportKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceSupportKHR is an -- alias of vkGetPhysicalDeviceSurfaceSupportKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceSurfaceSupportKHRSafe. vkGetPhysicalDeviceSurfaceSupportKHR :: VkPhysicalDevice -> Word32 -> VkSurfaceKHR -> Ptr VkBool32 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceSupportKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t queueFamilyIndex
--       , VkSurfaceKHR surface
--       , VkBool32* pSupported
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceSupportKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceSupportKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceSupportKHRUnsafe and -- vkGetPhysicalDeviceSurfaceSupportKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceSupportKHR is an -- alias of vkGetPhysicalDeviceSurfaceSupportKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceSurfaceSupportKHRSafe. vkGetPhysicalDeviceSurfaceSupportKHRUnsafe :: VkPhysicalDevice -> Word32 -> VkSurfaceKHR -> Ptr VkBool32 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceSupportKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t queueFamilyIndex
--       , VkSurfaceKHR surface
--       , VkBool32* pSupported
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceSupportKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceSupportKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceSupportKHRUnsafe and -- vkGetPhysicalDeviceSurfaceSupportKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceSupportKHR is an -- alias of vkGetPhysicalDeviceSurfaceSupportKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceSurfaceSupportKHRSafe. vkGetPhysicalDeviceSurfaceSupportKHRSafe :: VkPhysicalDevice -> Word32 -> VkSurfaceKHR -> Ptr VkBool32 -> IO VkResult type VkGetPhysicalDeviceSurfaceCapabilitiesKHR = "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" pattern VkGetPhysicalDeviceSurfaceCapabilitiesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = VkPhysicalDevice " physicalDevice" -> VkSurfaceKHR " surface" -> Ptr VkSurfaceCapabilitiesKHR " pSurfaceCapabilities" -> IO VkResult type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe -- and vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceCapabilitiesKHR is an -- alias of vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe. vkGetPhysicalDeviceSurfaceCapabilitiesKHR :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr VkSurfaceCapabilitiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe -- and vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceCapabilitiesKHR is an -- alias of vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe. vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr VkSurfaceCapabilitiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe -- and vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceCapabilitiesKHR is an -- alias of vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe. vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr VkSurfaceCapabilitiesKHR -> IO VkResult type VkGetPhysicalDeviceSurfaceFormatsKHR = "vkGetPhysicalDeviceSurfaceFormatsKHR" pattern VkGetPhysicalDeviceSurfaceFormatsKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceFormatsKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pSurfaceFormatCount
--       , VkSurfaceFormatKHR* pSurfaceFormats
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceFormatsKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSurfaceFormatsKHR = VkPhysicalDevice " physicalDevice" -> VkSurfaceKHR " surface" -> Ptr Word32 " pSurfaceFormatCount" -> Ptr VkSurfaceFormatKHR " pSurfaceFormats" -> IO VkResult type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = FunPtr HS_vkGetPhysicalDeviceSurfaceFormatsKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceFormatsKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pSurfaceFormatCount
--       , VkSurfaceFormatKHR* pSurfaceFormats
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceFormatsKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceFormatsKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe and -- vkGetPhysicalDeviceSurfaceFormatsKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceFormatsKHR is an -- alias of vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceSurfaceFormatsKHRSafe. vkGetPhysicalDeviceSurfaceFormatsKHR :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkSurfaceFormatKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceFormatsKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pSurfaceFormatCount
--       , VkSurfaceFormatKHR* pSurfaceFormats
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceFormatsKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceFormatsKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe and -- vkGetPhysicalDeviceSurfaceFormatsKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceFormatsKHR is an -- alias of vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceSurfaceFormatsKHRSafe. vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkSurfaceFormatKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceFormatsKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pSurfaceFormatCount
--       , VkSurfaceFormatKHR* pSurfaceFormats
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceFormatsKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceFormatsKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe and -- vkGetPhysicalDeviceSurfaceFormatsKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfaceFormatsKHR is an -- alias of vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceSurfaceFormatsKHRSafe. vkGetPhysicalDeviceSurfaceFormatsKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkSurfaceFormatKHR -> IO VkResult type VkGetPhysicalDeviceSurfacePresentModesKHR = "vkGetPhysicalDeviceSurfacePresentModesKHR" pattern VkGetPhysicalDeviceSurfacePresentModesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfacePresentModesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pPresentModeCount
--       , VkPresentModeKHR* pPresentModes
--       )
--   
-- -- vkGetPhysicalDeviceSurfacePresentModesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSurfacePresentModesKHR = VkPhysicalDevice " physicalDevice" -> VkSurfaceKHR " surface" -> Ptr Word32 " pPresentModeCount" -> Ptr VkPresentModeKHR " pPresentModes" -> IO VkResult type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = FunPtr HS_vkGetPhysicalDeviceSurfacePresentModesKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfacePresentModesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pPresentModeCount
--       , VkPresentModeKHR* pPresentModes
--       )
--   
-- -- vkGetPhysicalDeviceSurfacePresentModesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfacePresentModesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe -- and vkGetPhysicalDeviceSurfacePresentModesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfacePresentModesKHR is an -- alias of vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceSurfacePresentModesKHRSafe. vkGetPhysicalDeviceSurfacePresentModesKHR :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkPresentModeKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfacePresentModesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pPresentModeCount
--       , VkPresentModeKHR* pPresentModes
--       )
--   
-- -- vkGetPhysicalDeviceSurfacePresentModesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfacePresentModesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe -- and vkGetPhysicalDeviceSurfacePresentModesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfacePresentModesKHR is an -- alias of vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceSurfacePresentModesKHRSafe. vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkPresentModeKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfacePresentModesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pPresentModeCount
--       , VkPresentModeKHR* pPresentModes
--       )
--   
-- -- vkGetPhysicalDeviceSurfacePresentModesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfacePresentModesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR
--   
-- -- Note: vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe -- and vkGetPhysicalDeviceSurfacePresentModesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSurfacePresentModesKHR is an -- alias of vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceSurfacePresentModesKHRSafe. vkGetPhysicalDeviceSurfacePresentModesKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkPresentModeKHR -> IO VkResult -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkSurfaceCapabilities2EXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--       VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
--   } VkSurfaceCapabilities2EXT;
--   
-- -- VkSurfaceCapabilities2EXT registry at www.khronos.org type VkSurfaceCapabilities2EXT = VkStruct VkSurfaceCapabilities2EXT' -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org type VkSurfaceCapabilities2KHR = VkStruct VkSurfaceCapabilities2KHR' -- |
--   typedef struct VkSurfaceFormat2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkSurfaceFormatKHR surfaceFormat;
--   } VkSurfaceFormat2KHR;
--   
-- -- VkSurfaceFormat2KHR registry at www.khronos.org type VkSurfaceFormat2KHR = VkStruct VkSurfaceFormat2KHR' -- |
--   typedef struct VkSurfaceProtectedCapabilitiesKHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkBool32 supportsProtected;
--   } VkSurfaceProtectedCapabilitiesKHR;
--   
-- -- VkSurfaceProtectedCapabilitiesKHR registry at www.khronos.org type VkSurfaceProtectedCapabilitiesKHR = VkStruct VkSurfaceProtectedCapabilitiesKHR' type VK_KHR_SURFACE_SPEC_VERSION = 25 pattern VK_KHR_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface" pattern VK_KHR_SURFACE_EXTENSION_NAME :: CString pattern VK_ERROR_SURFACE_LOST_KHR :: VkResult pattern VK_ERROR_NATIVE_WINDOW_IN_USE_KHR :: VkResult -- | VkSurfaceKHR pattern VK_OBJECT_TYPE_SURFACE_KHR :: VkObjectType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfacePresentModesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceFormatsKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceSupportKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySurfaceKHR" module Graphics.Vulkan.Ext.VK_KHR_shared_presentable_image newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageUsageFlags sharedPresentSupportedUsageFlags;
--   } VkSharedPresentSurfaceCapabilitiesKHR;
--   
-- -- VkSharedPresentSurfaceCapabilitiesKHR registry at -- www.khronos.org type VkSharedPresentSurfaceCapabilitiesKHR = VkStruct VkSharedPresentSurfaceCapabilitiesKHR' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org type VkSurfaceCapabilities2KHR = VkStruct VkSurfaceCapabilities2KHR' -- |
--   typedef struct VkSurfaceCapabilitiesKHR {
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--   } VkSurfaceCapabilitiesKHR;
--   
-- -- VkSurfaceCapabilitiesKHR registry at www.khronos.org type VkSurfaceCapabilitiesKHR = VkStruct VkSurfaceCapabilitiesKHR' newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkGetSwapchainStatusKHR = "vkGetSwapchainStatusKHR" pattern VkGetSwapchainStatusKHR :: CString -- | Success codes: VK_SUCCESS, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkGetSwapchainStatusKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       )
--   
-- -- vkGetSwapchainStatusKHR registry at www.khronos.org type HS_vkGetSwapchainStatusKHR = VkDevice " device" -> VkSwapchainKHR " swapchain" -> IO VkResult type PFN_vkGetSwapchainStatusKHR = FunPtr HS_vkGetSwapchainStatusKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1 pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presentable_image" pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: VkStructureType pattern VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR :: VkPresentModeKHR pattern VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR :: VkImageLayout instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSwapchainStatusKHR" module Graphics.Vulkan.Ext.VK_EXT_display_surface_counter newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSurfaceCapabilities2EXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--       VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
--   } VkSurfaceCapabilities2EXT;
--   
-- -- VkSurfaceCapabilities2EXT registry at www.khronos.org type VkSurfaceCapabilities2EXT = VkStruct VkSurfaceCapabilities2EXT' newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkGetPhysicalDeviceSurfaceCapabilities2EXT = "vkGetPhysicalDeviceSurfaceCapabilities2EXT" pattern VkGetPhysicalDeviceSurfaceCapabilities2EXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , VkSurfaceCapabilities2EXT* pSurfaceCapabilities
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT = VkPhysicalDevice " physicalDevice" -> VkSurfaceKHR " surface" -> Ptr VkSurfaceCapabilities2EXT " pSurfaceCapabilities" -> IO VkResult type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT = FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org type VkSurfaceCapabilities2KHR = VkStruct VkSurfaceCapabilities2KHR' -- |
--   typedef struct VkSurfaceCapabilitiesKHR {
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--   } VkSurfaceCapabilitiesKHR;
--   
-- -- VkSurfaceCapabilitiesKHR registry at www.khronos.org type VkSurfaceCapabilitiesKHR = VkStruct VkSurfaceCapabilitiesKHR' -- |
--   typedef struct VkSurfaceFormat2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkSurfaceFormatKHR surfaceFormat;
--   } VkSurfaceFormat2KHR;
--   
-- -- VkSurfaceFormat2KHR registry at www.khronos.org type VkSurfaceFormat2KHR = VkStruct VkSurfaceFormat2KHR' -- |
--   typedef struct VkSurfaceFormatKHR {
--       VkFormat                         format;
--       VkColorSpaceKHR                  colorSpace;
--   } VkSurfaceFormatKHR;
--   
-- -- VkSurfaceFormatKHR registry at www.khronos.org type VkSurfaceFormatKHR = VkStruct VkSurfaceFormatKHR' -- |
--   typedef struct VkSurfaceProtectedCapabilitiesKHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkBool32 supportsProtected;
--   } VkSurfaceProtectedCapabilitiesKHR;
--   
-- -- VkSurfaceProtectedCapabilitiesKHR registry at www.khronos.org type VkSurfaceProtectedCapabilitiesKHR = VkStruct VkSurfaceProtectedCapabilitiesKHR' type VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1 pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME = "VK_EXT_display_surface_counter" pattern VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: VkStructureType -- | Backwards-compatible alias containing a typo pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2EXT" module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkImportSemaphoreFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore    semaphore;
--       VkSemaphoreImportFlags flags;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportSemaphoreFdInfoKHR;
--   
-- -- VkImportSemaphoreFdInfoKHR registry at www.khronos.org type VkImportSemaphoreFdInfoKHR = VkStruct VkImportSemaphoreFdInfoKHR' -- |
--   typedef struct VkSemaphoreGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore                      semaphore;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkSemaphoreGetFdInfoKHR;
--   
-- -- VkSemaphoreGetFdInfoKHR registry at www.khronos.org type VkSemaphoreGetFdInfoKHR = VkStruct VkSemaphoreGetFdInfoKHR' newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask (a :: FlagType) pattern VkSemaphoreImportFlagBits :: VkFlags -> VkSemaphoreImportBitmask FlagBit pattern VkSemaphoreImportFlags :: VkFlags -> VkSemaphoreImportBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT :: VkSemaphoreImportBitmask a -- | type = enum -- -- VkSemaphoreType registry at www.khronos.org newtype VkSemaphoreType VkSemaphoreType :: Int32 -> VkSemaphoreType pattern VK_SEMAPHORE_TYPE_BINARY :: VkSemaphoreType pattern VK_SEMAPHORE_TYPE_TIMELINE :: VkSemaphoreType newtype VkSemaphoreWaitBitmask (a :: FlagType) VkSemaphoreWaitBitmask :: VkFlags -> VkSemaphoreWaitBitmask (a :: FlagType) pattern VkSemaphoreWaitFlagBits :: VkFlags -> VkSemaphoreWaitBitmask FlagBit pattern VkSemaphoreWaitFlags :: VkFlags -> VkSemaphoreWaitBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_WAIT_ANY_BIT :: VkSemaphoreWaitBitmask a type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask newtype VkSemaphoreTypeKHR VkSemaphoreTypeKHR :: VkFlags -> VkSemaphoreTypeKHR type VkSemaphoreWaitFlagBits = VkSemaphoreWaitBitmask FlagBit newtype VkSemaphoreWaitFlagBitsKHR VkSemaphoreWaitFlagBitsKHR :: VkFlags -> VkSemaphoreWaitFlagBitsKHR type VkSemaphoreWaitFlags = VkSemaphoreWaitBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkImportSemaphoreFdKHR = "vkImportSemaphoreFdKHR" pattern VkImportSemaphoreFdKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE. -- --
--   VkResult vkImportSemaphoreFdKHR
--       ( VkDevice device
--       , const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo
--       )
--   
-- -- vkImportSemaphoreFdKHR registry at www.khronos.org type HS_vkImportSemaphoreFdKHR = VkDevice " device" -> Ptr VkImportSemaphoreFdInfoKHR " pImportSemaphoreFdInfo" -> IO VkResult type PFN_vkImportSemaphoreFdKHR = FunPtr HS_vkImportSemaphoreFdKHR type VkGetSemaphoreFdKHR = "vkGetSemaphoreFdKHR" pattern VkGetSemaphoreFdKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkGetSemaphoreFdKHR
--       ( VkDevice device
--       , const VkSemaphoreGetFdInfoKHR* pGetFdInfo
--       , int* pFd
--       )
--   
-- -- vkGetSemaphoreFdKHR registry at www.khronos.org type HS_vkGetSemaphoreFdKHR = VkDevice " device" -> Ptr VkSemaphoreGetFdInfoKHR " pGetFdInfo" -> Ptr CInt " pFd" -> IO VkResult type PFN_vkGetSemaphoreFdKHR = FunPtr HS_vkGetSemaphoreFdKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkImportFenceFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence              fence;
--       VkFenceImportFlags  flags;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--       int                                    fd;
--   } VkImportFenceFdInfoKHR;
--   
-- -- VkImportFenceFdInfoKHR registry at www.khronos.org type VkImportFenceFdInfoKHR = VkStruct VkImportFenceFdInfoKHR' -- |
--   typedef struct VkImportMemoryFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportMemoryFdInfoKHR;
--   
-- -- VkImportMemoryFdInfoKHR registry at www.khronos.org type VkImportMemoryFdInfoKHR = VkStruct VkImportMemoryFdInfoKHR' -- |
--   typedef struct VkImportMemoryHostPointerInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       void* pHostPointer;
--   } VkImportMemoryHostPointerInfoEXT;
--   
-- -- VkImportMemoryHostPointerInfoEXT registry at www.khronos.org type VkImportMemoryHostPointerInfoEXT = VkStruct VkImportMemoryHostPointerInfoEXT' -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org type VkSemaphoreCreateInfo = VkStruct VkSemaphoreCreateInfo' -- |
--   typedef struct VkSemaphoreSignalInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphore            semaphore;
--       uint64_t               value;
--   } VkSemaphoreSignalInfo;
--   
-- -- VkSemaphoreSignalInfo registry at www.khronos.org type VkSemaphoreSignalInfo = VkStruct VkSemaphoreSignalInfo' -- | Alias for VkSemaphoreSignalInfo type VkSemaphoreSignalInfoKHR = VkSemaphoreSignalInfo -- |
--   typedef struct VkSemaphoreTypeCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreType        semaphoreType;
--       uint64_t               initialValue;
--   } VkSemaphoreTypeCreateInfo;
--   
-- -- VkSemaphoreTypeCreateInfo registry at www.khronos.org type VkSemaphoreTypeCreateInfo = VkStruct VkSemaphoreTypeCreateInfo' -- | Alias for VkSemaphoreTypeCreateInfo type VkSemaphoreTypeCreateInfoKHR = VkSemaphoreTypeCreateInfo -- |
--   typedef struct VkSemaphoreWaitInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreWaitFlags flags;
--       uint32_t               semaphoreCount;
--       const VkSemaphore* pSemaphores;
--       const uint64_t*    pValues;
--   } VkSemaphoreWaitInfo;
--   
-- -- VkSemaphoreWaitInfo registry at www.khronos.org type VkSemaphoreWaitInfo = VkStruct VkSemaphoreWaitInfo' -- | Alias for VkSemaphoreWaitInfo type VkSemaphoreWaitInfoKHR = VkSemaphoreWaitInfo type VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore_fd" pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSemaphoreFdKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkImportSemaphoreFdKHR" module Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkExternalImageFormatPropertiesNV {
--       VkImageFormatProperties          imageFormatProperties;
--       VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
--   } VkExternalImageFormatPropertiesNV;
--   
-- -- VkExternalImageFormatPropertiesNV registry at www.khronos.org type VkExternalImageFormatPropertiesNV = VkStruct VkExternalImageFormatPropertiesNV' newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkGetPhysicalDeviceExternalImageFormatPropertiesNV = "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" pattern VkGetPhysicalDeviceExternalImageFormatPropertiesNV :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkImageTiling tiling
--       , VkImageUsageFlags usage
--       , VkImageCreateFlags flags
--       , VkExternalMemoryHandleTypeFlagsNV externalHandleType
--       , VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at -- www.khronos.org type HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = VkPhysicalDevice " physicalDevice" -> VkFormat " format" -> VkImageType " type" -> VkImageTiling " tiling" -> VkImageUsageFlags " usage" -> VkImageCreateFlags " flags" -> VkExternalMemoryHandleTypeFlagsNV " externalHandleType" -> Ptr VkExternalImageFormatPropertiesNV " pExternalImageFormatProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = FunPtr HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org type VkExternalBufferProperties = VkStruct VkExternalBufferProperties' -- | Alias for VkExternalBufferProperties type VkExternalBufferPropertiesKHR = VkExternalBufferProperties -- |
--   typedef struct VkExternalFenceProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalFenceHandleTypeFlags compatibleHandleTypes;
--       VkExternalFenceFeatureFlags externalFenceFeatures;
--   } VkExternalFenceProperties;
--   
-- -- VkExternalFenceProperties registry at www.khronos.org type VkExternalFenceProperties = VkStruct VkExternalFenceProperties' -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org type VkExternalImageFormatProperties = VkStruct VkExternalImageFormatProperties' -- | Alias for VkExternalImageFormatProperties type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org type VkExternalMemoryBufferCreateInfo = VkStruct VkExternalMemoryBufferCreateInfo' -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org type VkExternalMemoryImageCreateInfo = VkStruct VkExternalMemoryImageCreateInfo' -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org type VkExternalMemoryImageCreateInfoNV = VkStruct VkExternalMemoryImageCreateInfoNV' -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org type VkExternalMemoryProperties = VkStruct VkExternalMemoryProperties' -- | Alias for VkExternalMemoryProperties type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties -- |
--   typedef struct VkExternalSemaphoreProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
--       VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
--   } VkExternalSemaphoreProperties;
--   
-- -- VkExternalSemaphoreProperties registry at www.khronos.org type VkExternalSemaphoreProperties = VkStruct VkExternalSemaphoreProperties' -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo type VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1 pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities" pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: CString instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" module Graphics.Vulkan.Ext.VK_NV_external_memory -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkExportMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExportMemoryAllocateInfoNV;
--   
-- -- VkExportMemoryAllocateInfoNV registry at www.khronos.org type VkExportMemoryAllocateInfoNV = VkStruct VkExportMemoryAllocateInfoNV' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org type VkExternalMemoryImageCreateInfoNV = VkStruct VkExternalMemoryImageCreateInfoNV' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_EXTERNAL_MEMORY_SPEC_VERSION = 1 pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory" pattern VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_dedicated_allocation -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask (a :: FlagType) pattern VkBufferCreateFlagBits :: VkFlags -> VkBufferCreateBitmask FlagBit pattern VkBufferCreateFlags :: VkFlags -> VkBufferCreateBitmask FlagMask -- | Buffer should support sparse backing -- -- bitpos = 0 pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT :: VkBufferCreateBitmask a -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: VkBufferCreateBitmask a -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT :: VkBufferCreateBitmask a newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask (a :: FlagType) pattern VkBufferUsageFlagBits :: VkFlags -> VkBufferUsageBitmask FlagBit pattern VkBufferUsageFlags :: VkFlags -> VkBufferUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a -- | Can be used as TBO -- -- bitpos = 2 pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as IBO -- -- bitpos = 3 pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as UBO -- -- bitpos = 4 pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as SSBO -- -- bitpos = 5 pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT :: VkBufferUsageBitmask a type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask -- |
--   typedef struct VkBufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferCreateFlags    flags;
--       VkDeviceSize           size;
--       VkBufferUsageFlags     usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--   } VkBufferCreateInfo;
--   
-- -- VkBufferCreateInfo registry at www.khronos.org type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- |
--   typedef struct VkDedicatedAllocationBufferCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         dedicatedAllocation;
--   } VkDedicatedAllocationBufferCreateInfoNV;
--   
-- -- VkDedicatedAllocationBufferCreateInfoNV registry at -- www.khronos.org type VkDedicatedAllocationBufferCreateInfoNV = VkStruct VkDedicatedAllocationBufferCreateInfoNV' -- |
--   typedef struct VkDedicatedAllocationImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         dedicatedAllocation;
--   } VkDedicatedAllocationImageCreateInfoNV;
--   
-- -- VkDedicatedAllocationImageCreateInfoNV registry at -- www.khronos.org type VkDedicatedAllocationImageCreateInfoNV = VkStruct VkDedicatedAllocationImageCreateInfoNV' -- |
--   typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkDedicatedAllocationMemoryAllocateInfoNV;
--   
-- -- VkDedicatedAllocationMemoryAllocateInfoNV registry at -- www.khronos.org type VkDedicatedAllocationMemoryAllocateInfoNV = VkStruct VkDedicatedAllocationMemoryAllocateInfoNV' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1 pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_NV_dedicated_allocation" pattern VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NVX_image_view_handle newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetImageViewHandleNVX = "vkGetImageViewHandleNVX" pattern VkGetImageViewHandleNVX :: CString -- |
--   uint32_t vkGetImageViewHandleNVX
--       ( VkDevice device
--       , const VkImageViewHandleInfoNVX* pInfo
--       )
--   
-- -- vkGetImageViewHandleNVX registry at www.khronos.org type HS_vkGetImageViewHandleNVX = VkDevice " device" -> Ptr VkImageViewHandleInfoNVX " pInfo" -> IO Word32 type PFN_vkGetImageViewHandleNVX = FunPtr HS_vkGetImageViewHandleNVX type VkGetImageViewAddressNVX = "vkGetImageViewAddressNVX" pattern VkGetImageViewAddressNVX :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_UNKNOWN. -- --
--   VkResult vkGetImageViewAddressNVX
--       ( VkDevice device
--       , VkImageView imageView
--       , VkImageViewAddressPropertiesNVX* pProperties
--       )
--   
-- -- vkGetImageViewAddressNVX registry at www.khronos.org type HS_vkGetImageViewAddressNVX = VkDevice " device" -> VkImageView " imageView" -> Ptr VkImageViewAddressPropertiesNVX " pProperties" -> IO VkResult type PFN_vkGetImageViewAddressNVX = FunPtr HS_vkGetImageViewAddressNVX -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo type VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 pattern VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME = "VK_NVX_image_view_handle" pattern VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageViewAddressNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageViewHandleNVX" module Graphics.Vulkan.Ext.VK_NVX_multiview_per_view_attributes -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1 pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: (Num a, Eq a) => a type VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes" pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: VkStructureType -- | bitpos = 0 pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX :: VkSubpassDescriptionBitmask a -- | bitpos = 1 pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX :: VkSubpassDescriptionBitmask a module Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2 -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org type VkSurfaceCapabilities2KHR = VkStruct VkSurfaceCapabilities2KHR' -- |
--   typedef struct VkSurfaceCapabilitiesKHR {
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--   } VkSurfaceCapabilitiesKHR;
--   
-- -- VkSurfaceCapabilitiesKHR registry at www.khronos.org type VkSurfaceCapabilitiesKHR = VkStruct VkSurfaceCapabilitiesKHR' -- |
--   typedef struct VkSurfaceFormat2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkSurfaceFormatKHR surfaceFormat;
--   } VkSurfaceFormat2KHR;
--   
-- -- VkSurfaceFormat2KHR registry at www.khronos.org type VkSurfaceFormat2KHR = VkStruct VkSurfaceFormat2KHR' -- |
--   typedef struct VkSurfaceFormatKHR {
--       VkFormat                         format;
--       VkColorSpaceKHR                  colorSpace;
--   } VkSurfaceFormatKHR;
--   
-- -- VkSurfaceFormatKHR registry at www.khronos.org type VkSurfaceFormatKHR = VkStruct VkSurfaceFormatKHR' newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkGetPhysicalDeviceSurfaceCapabilities2KHR = "vkGetPhysicalDeviceSurfaceCapabilities2KHR" pattern VkGetPhysicalDeviceSurfaceCapabilities2KHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo
--       , VkSurfaceCapabilities2KHR* pSurfaceCapabilities
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceSurfaceInfo2KHR " pSurfaceInfo" -> Ptr VkSurfaceCapabilities2KHR " pSurfaceCapabilities" -> IO VkResult type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR = FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR type VkGetPhysicalDeviceSurfaceFormats2KHR = "vkGetPhysicalDeviceSurfaceFormats2KHR" pattern VkGetPhysicalDeviceSurfaceFormats2KHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetPhysicalDeviceSurfaceFormats2KHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo
--       , uint32_t* pSurfaceFormatCount
--       , VkSurfaceFormat2KHR* pSurfaceFormats
--       )
--   
-- -- vkGetPhysicalDeviceSurfaceFormats2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSurfaceFormats2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceSurfaceInfo2KHR " pSurfaceInfo" -> Ptr Word32 " pSurfaceFormatCount" -> Ptr VkSurfaceFormat2KHR " pSurfaceFormats" -> IO VkResult type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR = FunPtr HS_vkGetPhysicalDeviceSurfaceFormats2KHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' -- |
--   typedef struct VkSurfaceCapabilities2EXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--       VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
--   } VkSurfaceCapabilities2EXT;
--   
-- -- VkSurfaceCapabilities2EXT registry at www.khronos.org type VkSurfaceCapabilities2EXT = VkStruct VkSurfaceCapabilities2EXT' -- |
--   typedef struct VkSurfaceProtectedCapabilitiesKHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkBool32 supportsProtected;
--   } VkSurfaceProtectedCapabilitiesKHR;
--   
-- -- VkSurfaceProtectedCapabilitiesKHR registry at www.khronos.org type VkSurfaceProtectedCapabilitiesKHR = VkStruct VkSurfaceProtectedCapabilitiesKHR' type VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1 pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2" pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceFormats2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2KHR" module Graphics.Vulkan.Ext.VK_EXT_tooling_info -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkToolPurposeBitmaskEXT (a :: FlagType) VkToolPurposeBitmaskEXT :: VkFlags -> VkToolPurposeBitmaskEXT (a :: FlagType) pattern VkToolPurposeFlagBitsEXT :: VkFlags -> VkToolPurposeBitmaskEXT FlagBit pattern VkToolPurposeFlagsEXT :: VkFlags -> VkToolPurposeBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_TOOL_PURPOSE_VALIDATION_BIT_EXT :: VkToolPurposeBitmaskEXT a -- | bitpos = 1 pattern VK_TOOL_PURPOSE_PROFILING_BIT_EXT :: VkToolPurposeBitmaskEXT a -- | bitpos = 2 pattern VK_TOOL_PURPOSE_TRACING_BIT_EXT :: VkToolPurposeBitmaskEXT a -- | bitpos = 3 pattern VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT :: VkToolPurposeBitmaskEXT a -- | bitpos = 4 pattern VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT :: VkToolPurposeBitmaskEXT a type VkToolPurposeFlagBitsEXT = VkToolPurposeBitmaskEXT FlagBit type VkToolPurposeFlagsEXT = VkToolPurposeBitmaskEXT FlagMask type VkGetPhysicalDeviceToolPropertiesEXT = "vkGetPhysicalDeviceToolPropertiesEXT" pattern VkGetPhysicalDeviceToolPropertiesEXT :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceToolPropertiesEXT
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pToolCount
--       , VkPhysicalDeviceToolPropertiesEXT* pToolProperties
--       )
--   
-- -- vkGetPhysicalDeviceToolPropertiesEXT registry at -- www.khronos.org type HS_vkGetPhysicalDeviceToolPropertiesEXT = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pToolCount" -> Ptr VkPhysicalDeviceToolPropertiesEXT " pToolProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceToolPropertiesEXT = FunPtr HS_vkGetPhysicalDeviceToolPropertiesEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' type VK_EXT_TOOLING_INFO_SPEC_VERSION = 1 pattern VK_EXT_TOOLING_INFO_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_TOOLING_INFO_EXTENSION_NAME = "VK_EXT_tooling_info" pattern VK_EXT_TOOLING_INFO_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: VkStructureType -- | bitpos = 5 pattern VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT :: VkToolPurposeBitmaskEXT a -- | bitpos = 6 pattern VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT :: VkToolPurposeBitmaskEXT a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceToolPropertiesEXT" module Graphics.Vulkan.Ext.VK_EXT_pci_bus_info -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_PCI_BUS_INFO_SPEC_VERSION = 2 pattern VK_EXT_PCI_BUS_INFO_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_PCI_BUS_INFO_EXTENSION_NAME = "VK_EXT_pci_bus_info" pattern VK_EXT_PCI_BUS_INFO_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_memory_budget -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask (a :: FlagType) pattern VkMemoryAllocateFlagBits :: VkFlags -> VkMemoryAllocateBitmask FlagBit pattern VkMemoryAllocateFlags :: VkFlags -> VkMemoryAllocateBitmask FlagMask -- | Force allocation on specific devices -- -- bitpos = 0 pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT :: VkMemoryAllocateBitmask a newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask (a :: FlagType) pattern VkMemoryHeapFlagBits :: VkFlags -> VkMemoryHeapBitmask FlagBit pattern VkMemoryHeapFlags :: VkFlags -> VkMemoryHeapBitmask FlagMask -- | If set, heap represents device memory -- -- bitpos = 0 pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a -- | type = enum -- -- VkMemoryOverallocationBehaviorAMD registry at www.khronos.org newtype VkMemoryOverallocationBehaviorAMD VkMemoryOverallocationBehaviorAMD :: Int32 -> VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask (a :: FlagType) pattern VkMemoryPropertyFlagBits :: VkFlags -> VkMemoryPropertyBitmask FlagBit pattern VkMemoryPropertyFlags :: VkFlags -> VkMemoryPropertyBitmask FlagMask -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: VkMemoryPropertyBitmask a -- | Memory is mappable by host -- -- bitpos = 1 pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT :: VkMemoryPropertyBitmask a -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT :: VkMemoryPropertyBitmask a -- | Memory will be cached by the host -- -- bitpos = 3 pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT :: VkMemoryPropertyBitmask a -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: VkMemoryPropertyBitmask a type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_MEMORY_BUDGET_SPEC_VERSION = 1 pattern VK_EXT_MEMORY_BUDGET_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_MEMORY_BUDGET_EXTENSION_NAME = "VK_EXT_memory_budget" pattern VK_EXT_MEMORY_BUDGET_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_image_drm_format_modifier -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDrmFormatModifierPropertiesEXT {
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       VkFormatFeatureFlags drmFormatModifierTilingFeatures;
--   } VkDrmFormatModifierPropertiesEXT;
--   
-- -- VkDrmFormatModifierPropertiesEXT registry at www.khronos.org type VkDrmFormatModifierPropertiesEXT = VkStruct VkDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkDrmFormatModifierPropertiesListEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t drmFormatModifierCount;
--       VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
--   } VkDrmFormatModifierPropertiesListEXT;
--   
-- -- VkDrmFormatModifierPropertiesListEXT registry at -- www.khronos.org type VkDrmFormatModifierPropertiesListEXT = VkStruct VkDrmFormatModifierPropertiesListEXT' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- |
--   typedef struct VkFormatProperties {
--       VkFormatFeatureFlags   linearTilingFeatures;
--       VkFormatFeatureFlags   optimalTilingFeatures;
--       VkFormatFeatureFlags   bufferFeatures;
--   } VkFormatProperties;
--   
-- -- VkFormatProperties registry at www.khronos.org type VkFormatProperties = VkStruct VkFormatProperties' -- |
--   typedef struct VkFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkFormatProperties               formatProperties;
--   } VkFormatProperties2;
--   
-- -- VkFormatProperties2 registry at www.khronos.org type VkFormatProperties2 = VkStruct VkFormatProperties2' newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSubresourceLayout {
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--       VkDeviceSize           rowPitch;
--       VkDeviceSize           arrayPitch;
--       VkDeviceSize           depthPitch;
--   } VkSubresourceLayout;
--   
-- -- VkSubresourceLayout registry at www.khronos.org type VkSubresourceLayout = VkStruct VkSubresourceLayout' type VkGetImageDrmFormatModifierPropertiesEXT = "vkGetImageDrmFormatModifierPropertiesEXT" pattern VkGetImageDrmFormatModifierPropertiesEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkGetImageDrmFormatModifierPropertiesEXT
--       ( VkDevice device
--       , VkImage image
--       , VkImageDrmFormatModifierPropertiesEXT* pProperties
--       )
--   
-- -- vkGetImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type HS_vkGetImageDrmFormatModifierPropertiesEXT = VkDevice " device" -> VkImage " image" -> Ptr VkImageDrmFormatModifierPropertiesEXT " pProperties" -> IO VkResult type PFN_vkGetImageDrmFormatModifierPropertiesEXT = FunPtr HS_vkGetImageDrmFormatModifierPropertiesEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo type VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 pattern VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" pattern VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: CString pattern VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT :: VkResult pattern VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: VkStructureType pattern VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT :: VkImageTiling -- | bitpos = 7 pattern VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: VkImageAspectBitmask a -- | bitpos = 8 pattern VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: VkImageAspectBitmask a -- | bitpos = 9 pattern VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: VkImageAspectBitmask a -- | bitpos = 10 pattern VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: VkImageAspectBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageDrmFormatModifierPropertiesEXT" module Graphics.Vulkan.Ext.VK_EXT_filter_cubic -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         filterCubic;
--       VkBool32                         filterCubicMinmax;
--   } VkFilterCubicImageViewImageFormatPropertiesEXT;
--   
-- -- VkFilterCubicImageViewImageFormatPropertiesEXT registry at -- www.khronos.org type VkFilterCubicImageViewImageFormatPropertiesEXT = VkStruct VkFilterCubicImageViewImageFormatPropertiesEXT' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_FILTER_CUBIC_SPEC_VERSION = 3 pattern VK_EXT_FILTER_CUBIC_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_FILTER_CUBIC_EXTENSION_NAME = "VK_EXT_filter_cubic" pattern VK_EXT_FILTER_CUBIC_EXTENSION_NAME :: CString pattern VK_FILTER_CUBIC_EXT :: VkFilter pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT :: VkFormatFeatureBitmask a pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_external_memory_host -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   typedef struct VkImportMemoryHostPointerInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       void* pHostPointer;
--   } VkImportMemoryHostPointerInfoEXT;
--   
-- -- VkImportMemoryHostPointerInfoEXT registry at www.khronos.org type VkImportMemoryHostPointerInfoEXT = VkStruct VkImportMemoryHostPointerInfoEXT' -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetMemoryHostPointerPropertiesEXT = "vkGetMemoryHostPointerPropertiesEXT" pattern VkGetMemoryHostPointerPropertiesEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE. -- --
--   VkResult vkGetMemoryHostPointerPropertiesEXT
--       ( VkDevice device
--       , VkExternalMemoryHandleTypeFlagBits handleType
--       , const void* pHostPointer
--       , VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties
--       )
--   
-- -- vkGetMemoryHostPointerPropertiesEXT registry at www.khronos.org type HS_vkGetMemoryHostPointerPropertiesEXT = VkDevice " device" -> VkExternalMemoryHandleTypeFlagBits " handleType" -> Ptr Void " pHostPointer" -> Ptr VkMemoryHostPointerPropertiesEXT " pMemoryHostPointerProperties" -> IO VkResult type PFN_vkGetMemoryHostPointerPropertiesEXT = FunPtr HS_vkGetMemoryHostPointerPropertiesEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' type VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1 pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host" pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: VkStructureType -- | bitpos = 7 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 8 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT :: VkExternalMemoryHandleTypeBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetMemoryHostPointerPropertiesEXT" module Graphics.Vulkan.Ext.VK_AMD_shader_core_properties2 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION = 1 pattern VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME = "VK_AMD_shader_core_properties2" pattern VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: VkStructureType module Graphics.Vulkan.Ext.VK_AMD_shader_core_properties -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION = 2 pattern VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME = "VK_AMD_shader_core_properties" pattern VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_shader_sm_builtins -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION = 1 pattern VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME = "VK_NV_shader_sm_builtins" pattern VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_shader_image_footprint -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION = 2 pattern VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME = "VK_NV_shader_image_footprint" pattern VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_mesh_shader -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkDrawMeshTasksIndirectCommandNV {
--       uint32_t               taskCount;
--       uint32_t               firstTask;
--   } VkDrawMeshTasksIndirectCommandNV;
--   
-- -- VkDrawMeshTasksIndirectCommandNV registry at www.khronos.org type VkDrawMeshTasksIndirectCommandNV = VkStruct VkDrawMeshTasksIndirectCommandNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCmdDrawMeshTasksNV = "vkCmdDrawMeshTasksNV" pattern VkCmdDrawMeshTasksNV :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawMeshTasksNV
--       ( VkCommandBuffer commandBuffer
--       , uint32_t taskCount
--       , uint32_t firstTask
--       )
--   
-- -- vkCmdDrawMeshTasksNV registry at www.khronos.org type HS_vkCmdDrawMeshTasksNV = VkCommandBuffer " commandBuffer" -> Word32 " taskCount" -> Word32 " firstTask" -> IO () type PFN_vkCmdDrawMeshTasksNV = FunPtr HS_vkCmdDrawMeshTasksNV type VkCmdDrawMeshTasksIndirectNV = "vkCmdDrawMeshTasksIndirectNV" pattern VkCmdDrawMeshTasksIndirectNV :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawMeshTasksIndirectNV
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawMeshTasksIndirectNV registry at www.khronos.org type HS_vkCmdDrawMeshTasksIndirectNV = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> Word32 " drawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawMeshTasksIndirectNV = FunPtr HS_vkCmdDrawMeshTasksIndirectNV type VkCmdDrawMeshTasksIndirectCountNV = "vkCmdDrawMeshTasksIndirectCountNV" pattern VkCmdDrawMeshTasksIndirectCountNV :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawMeshTasksIndirectCountNV
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawMeshTasksIndirectCountNV registry at www.khronos.org type HS_vkCmdDrawMeshTasksIndirectCountNV = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkBuffer " countBuffer" -> VkDeviceSize " countBufferOffset" -> Word32 " maxDrawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawMeshTasksIndirectCountNV = FunPtr HS_vkCmdDrawMeshTasksIndirectCountNV type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_NV_MESH_SHADER_SPEC_VERSION = 1 pattern VK_NV_MESH_SHADER_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_MESH_SHADER_EXTENSION_NAME = "VK_NV_mesh_shader" pattern VK_NV_MESH_SHADER_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: VkStructureType -- | bitpos = 6 pattern VK_SHADER_STAGE_TASK_BIT_NV :: VkShaderStageBitmask a -- | bitpos = 7 pattern VK_SHADER_STAGE_MESH_BIT_NV :: VkShaderStageBitmask a -- | bitpos = 19 pattern VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV :: VkPipelineStageBitmask a -- | bitpos = 20 pattern VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV :: VkPipelineStageBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawMeshTasksIndirectCountNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawMeshTasksIndirectNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawMeshTasksNV" module Graphics.Vulkan.Ext.VK_NV_fragment_shader_barycentric -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION = 1 pattern VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME = "VK_NV_fragment_shader_barycentric" pattern VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_device_diagnostics_config -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION = 1 pattern VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME = "VK_NV_device_diagnostics_config" pattern VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_dedicated_allocation_image_aliasing -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION = 1 pattern VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME = "VK_NV_dedicated_allocation_image_aliasing" pattern VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_corner_sampled_image -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION = 2 pattern VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME = "VK_NV_corner_sampled_image" pattern VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME :: CString -- | bitpos = 13 pattern VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV :: VkImageCreateBitmask a pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_cooperative_matrix -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkComponentSwizzle registry at www.khronos.org newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle -- | type = enum -- -- VkComponentTypeNV registry at www.khronos.org newtype VkComponentTypeNV VkComponentTypeNV :: Int32 -> VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT64_NV :: VkComponentTypeNV -- |
--   typedef struct VkCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            MSize;
--       uint32_t                            NSize;
--       uint32_t                            KSize;
--       VkComponentTypeNV                   AType;
--       VkComponentTypeNV                   BType;
--       VkComponentTypeNV                   CType;
--       VkComponentTypeNV                   DType;
--       VkScopeNV                           scope;
--   } VkCooperativeMatrixPropertiesNV;
--   
-- -- VkCooperativeMatrixPropertiesNV registry at www.khronos.org type VkCooperativeMatrixPropertiesNV = VkStruct VkCooperativeMatrixPropertiesNV' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkScopeNV registry at www.khronos.org newtype VkScopeNV VkScopeNV :: Int32 -> VkScopeNV pattern VK_SCOPE_DEVICE_NV :: VkScopeNV pattern VK_SCOPE_WORKGROUP_NV :: VkScopeNV pattern VK_SCOPE_SUBGROUP_NV :: VkScopeNV pattern VK_SCOPE_QUEUE_FAMILY_NV :: VkScopeNV -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetPhysicalDeviceCooperativeMatrixPropertiesNV = "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" pattern VkGetPhysicalDeviceCooperativeMatrixPropertiesNV :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkCooperativeMatrixPropertiesNV* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type HS_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pPropertyCount" -> Ptr VkCooperativeMatrixPropertiesNV " pProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = FunPtr HS_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION = 1 pattern VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME = "VK_NV_cooperative_matrix" pattern VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" module Graphics.Vulkan.Ext.VK_NV_compute_shader_derivatives -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION = 1 pattern VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_NV_compute_shader_derivatives" pattern VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_shader_clock -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 pattern VK_KHR_SHADER_CLOCK_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" pattern VK_KHR_SHADER_CLOCK_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_performance_query newtype VkAcquireProfilingLockBitmaskKHR (a :: FlagType) VkAcquireProfilingLockBitmaskKHR :: VkFlags -> VkAcquireProfilingLockBitmaskKHR (a :: FlagType) pattern VkAcquireProfilingLockFlagBitsKHR :: VkFlags -> VkAcquireProfilingLockBitmaskKHR FlagBit pattern VkAcquireProfilingLockFlagsKHR :: VkFlags -> VkAcquireProfilingLockBitmaskKHR FlagMask type VkAcquireProfilingLockFlagBitsKHR = VkAcquireProfilingLockBitmaskKHR FlagBit type VkAcquireProfilingLockFlagsKHR = VkAcquireProfilingLockBitmaskKHR FlagMask -- |
--   typedef struct VkAcquireProfilingLockInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAcquireProfilingLockFlagsKHR flags;
--       uint64_t timeout;
--   } VkAcquireProfilingLockInfoKHR;
--   
-- -- VkAcquireProfilingLockInfoKHR registry at www.khronos.org type VkAcquireProfilingLockInfoKHR = VkStruct VkAcquireProfilingLockInfoKHR' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkPerformanceConfigurationTypeINTEL registry at www.khronos.org newtype VkPerformanceConfigurationTypeINTEL VkPerformanceConfigurationTypeINTEL :: Int32 -> VkPerformanceConfigurationTypeINTEL pattern VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL :: VkPerformanceConfigurationTypeINTEL newtype VkPerformanceCounterDescriptionBitmaskKHR (a :: FlagType) VkPerformanceCounterDescriptionBitmaskKHR :: VkFlags -> VkPerformanceCounterDescriptionBitmaskKHR (a :: FlagType) pattern VkPerformanceCounterDescriptionFlagBitsKHR :: VkFlags -> VkPerformanceCounterDescriptionBitmaskKHR FlagBit pattern VkPerformanceCounterDescriptionFlagsKHR :: VkFlags -> VkPerformanceCounterDescriptionBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR :: VkPerformanceCounterDescriptionBitmaskKHR a -- | bitpos = 1 pattern VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR :: VkPerformanceCounterDescriptionBitmaskKHR a -- | type = enum -- -- VkPerformanceCounterScopeKHR registry at www.khronos.org newtype VkPerformanceCounterScopeKHR VkPerformanceCounterScopeKHR :: Int32 -> VkPerformanceCounterScopeKHR pattern VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR :: VkPerformanceCounterScopeKHR pattern VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR :: VkPerformanceCounterScopeKHR pattern VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR :: VkPerformanceCounterScopeKHR -- | type = enum -- -- VkPerformanceCounterStorageKHR registry at www.khronos.org newtype VkPerformanceCounterStorageKHR VkPerformanceCounterStorageKHR :: Int32 -> VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR :: VkPerformanceCounterStorageKHR pattern VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR :: VkPerformanceCounterStorageKHR -- | type = enum -- -- VkPerformanceCounterUnitKHR registry at www.khronos.org newtype VkPerformanceCounterUnitKHR VkPerformanceCounterUnitKHR :: Int32 -> VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR :: VkPerformanceCounterUnitKHR pattern VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR :: VkPerformanceCounterUnitKHR -- | type = enum -- -- VkPerformanceOverrideTypeINTEL registry at www.khronos.org newtype VkPerformanceOverrideTypeINTEL VkPerformanceOverrideTypeINTEL :: Int32 -> VkPerformanceOverrideTypeINTEL pattern VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL :: VkPerformanceOverrideTypeINTEL pattern VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL :: VkPerformanceOverrideTypeINTEL -- | type = enum -- -- VkPerformanceParameterTypeINTEL registry at www.khronos.org newtype VkPerformanceParameterTypeINTEL VkPerformanceParameterTypeINTEL :: Int32 -> VkPerformanceParameterTypeINTEL pattern VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL :: VkPerformanceParameterTypeINTEL pattern VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL :: VkPerformanceParameterTypeINTEL -- | type = enum -- -- VkPerformanceValueTypeINTEL registry at www.khronos.org newtype VkPerformanceValueTypeINTEL VkPerformanceValueTypeINTEL :: Int32 -> VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL :: VkPerformanceValueTypeINTEL pattern VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL :: VkPerformanceValueTypeINTEL pattern VK_QUERY_SCOPE_COMMAND_BUFFER_KHR :: VkPerformanceCounterScopeKHR pattern VK_QUERY_SCOPE_COMMAND_KHR :: VkPerformanceCounterScopeKHR pattern VK_QUERY_SCOPE_RENDER_PASS_KHR :: VkPerformanceCounterScopeKHR type VkPerformanceCounterDescriptionFlagBitsKHR = VkPerformanceCounterDescriptionBitmaskKHR FlagBit type VkPerformanceCounterDescriptionFlagsKHR = VkPerformanceCounterDescriptionBitmaskKHR FlagMask -- |
--   typedef struct VkPerformanceCounterDescriptionKHR {
--       VkStructureType sType;
--       const void*                             pNext;
--       VkPerformanceCounterDescriptionFlagsKHR flags;
--       char                                    name[VK_MAX_DESCRIPTION_SIZE];
--       char                                    category[VK_MAX_DESCRIPTION_SIZE];
--       char                                    description[VK_MAX_DESCRIPTION_SIZE];
--   } VkPerformanceCounterDescriptionKHR;
--   
-- -- VkPerformanceCounterDescriptionKHR registry at www.khronos.org type VkPerformanceCounterDescriptionKHR = VkStruct VkPerformanceCounterDescriptionKHR' -- |
--   typedef struct VkPerformanceCounterKHR {
--       VkStructureType sType;
--       const void*                             pNext;
--       VkPerformanceCounterUnitKHR        unit;
--       VkPerformanceCounterScopeKHR       scope;
--       VkPerformanceCounterStorageKHR     storage;
--       uint8_t uuid[VK_UUID_SIZE];
--   } VkPerformanceCounterKHR;
--   
-- -- VkPerformanceCounterKHR registry at www.khronos.org type VkPerformanceCounterKHR = VkStruct VkPerformanceCounterKHR' -- | // Union of all the possible return types a counter result could -- return -- --
--   typedef union VkPerformanceCounterResultKHR {
--       int32_t  int32;
--       int64_t  int64;
--       uint32_t uint32;
--       uint64_t uint64;
--       float    float32;
--       double   float64;
--   } VkPerformanceCounterResultKHR;
--   
-- -- VkPerformanceCounterResultKHR registry at www.khronos.org type VkPerformanceCounterResultKHR = VkStruct VkPerformanceCounterResultKHR' -- |
--   typedef struct VkPerformanceQuerySubmitInfoKHR {
--       VkStructureType sType;
--       const void*         pNext;
--       uint32_t            counterPassIndex;
--   } VkPerformanceQuerySubmitInfoKHR;
--   
-- -- VkPerformanceQuerySubmitInfoKHR registry at www.khronos.org type VkPerformanceQuerySubmitInfoKHR = VkStruct VkPerformanceQuerySubmitInfoKHR' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask -- |
--   typedef struct VkQueryPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkQueryPoolCreateFlags flags;
--       VkQueryType            queryType;
--       uint32_t               queryCount;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkQueryPoolCreateInfo;
--   
-- -- VkQueryPoolCreateInfo registry at www.khronos.org type VkQueryPoolCreateInfo = VkStruct VkQueryPoolCreateInfo' -- |
--   typedef struct VkQueryPoolPerformanceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                             pNext;
--       uint32_t                                queueFamilyIndex;
--       uint32_t                                counterIndexCount;
--       const uint32_t* pCounterIndices;
--   } VkQueryPoolPerformanceCreateInfoKHR;
--   
-- -- VkQueryPoolPerformanceCreateInfoKHR registry at www.khronos.org type VkQueryPoolPerformanceCreateInfoKHR = VkStruct VkQueryPoolPerformanceCreateInfoKHR' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSubmitInfo {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t       waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       const VkPipelineStageFlags*           pWaitDstStageMask;
--       uint32_t       commandBufferCount;
--       const VkCommandBuffer*     pCommandBuffers;
--       uint32_t       signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkSubmitInfo;
--   
-- -- VkSubmitInfo registry at www.khronos.org type VkSubmitInfo = VkStruct VkSubmitInfo' type VkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" pattern VkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t queueFamilyIndex
--       , uint32_t* pCounterCount
--       , VkPerformanceCounterKHR* pCounters
--       , VkPerformanceCounterDescriptionKHR* pCounterDescriptions
--       )
--   
-- -- vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR -- registry at www.khronos.org type HS_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = VkPhysicalDevice " physicalDevice" -> Word32 " queueFamilyIndex" -> Ptr Word32 " pCounterCount" -> Ptr VkPerformanceCounterKHR " pCounters" -> Ptr VkPerformanceCounterDescriptionKHR " pCounterDescriptions" -> IO VkResult type PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = FunPtr HS_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR type VkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" pattern VkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR :: CString -- |
--   void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo
--       , uint32_t* pNumPasses
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = VkPhysicalDevice " physicalDevice" -> Ptr VkQueryPoolPerformanceCreateInfoKHR " pPerformanceQueryCreateInfo" -> Ptr Word32 " pNumPasses" -> IO () type PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = FunPtr HS_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR type VkAcquireProfilingLockKHR = "vkAcquireProfilingLockKHR" pattern VkAcquireProfilingLockKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, VK_TIMEOUT. -- --
--   VkResult vkAcquireProfilingLockKHR
--       ( VkDevice device
--       , const VkAcquireProfilingLockInfoKHR* pInfo
--       )
--   
-- -- vkAcquireProfilingLockKHR registry at www.khronos.org type HS_vkAcquireProfilingLockKHR = VkDevice " device" -> Ptr VkAcquireProfilingLockInfoKHR " pInfo" -> IO VkResult type PFN_vkAcquireProfilingLockKHR = FunPtr HS_vkAcquireProfilingLockKHR type VkReleaseProfilingLockKHR = "vkReleaseProfilingLockKHR" pattern VkReleaseProfilingLockKHR :: CString -- |
--   void vkReleaseProfilingLockKHR
--       ( VkDevice device
--       )
--   
-- -- vkReleaseProfilingLockKHR registry at www.khronos.org type HS_vkReleaseProfilingLockKHR = VkDevice " device" -> IO () type PFN_vkReleaseProfilingLockKHR = FunPtr HS_vkReleaseProfilingLockKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAcquireNextImageInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint64_t                         timeout;
--       VkSemaphore semaphore;
--       VkFence fence;
--       uint32_t                         deviceMask;
--   } VkAcquireNextImageInfoKHR;
--   
-- -- VkAcquireNextImageInfoKHR registry at www.khronos.org type VkAcquireNextImageInfoKHR = VkStruct VkAcquireNextImageInfoKHR' -- |
--   typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPerformanceConfigurationTypeINTEL type;
--   } VkPerformanceConfigurationAcquireInfoINTEL;
--   
-- -- VkPerformanceConfigurationAcquireInfoINTEL registry at -- www.khronos.org type VkPerformanceConfigurationAcquireInfoINTEL = VkStruct VkPerformanceConfigurationAcquireInfoINTEL' -- |
--   typedef struct VkPerformanceMarkerInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint64_t                            marker;
--   } VkPerformanceMarkerInfoINTEL;
--   
-- -- VkPerformanceMarkerInfoINTEL registry at www.khronos.org type VkPerformanceMarkerInfoINTEL = VkStruct VkPerformanceMarkerInfoINTEL' -- |
--   typedef struct VkPerformanceOverrideInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPerformanceOverrideTypeINTEL      type;
--       VkBool32                            enable;
--       uint64_t                            parameter;
--   } VkPerformanceOverrideInfoINTEL;
--   
-- -- VkPerformanceOverrideInfoINTEL registry at www.khronos.org type VkPerformanceOverrideInfoINTEL = VkStruct VkPerformanceOverrideInfoINTEL' -- |
--   typedef struct VkPerformanceStreamMarkerInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            marker;
--   } VkPerformanceStreamMarkerInfoINTEL;
--   
-- -- VkPerformanceStreamMarkerInfoINTEL registry at www.khronos.org type VkPerformanceStreamMarkerInfoINTEL = VkStruct VkPerformanceStreamMarkerInfoINTEL' -- |
--   typedef union VkPerformanceValueDataINTEL {
--       uint32_t                           value32;
--       uint64_t                           value64;
--       float                               valueFloat;
--       VkBool32                             valueBool;
--       const char*  valueString;
--   } VkPerformanceValueDataINTEL;
--   
-- -- VkPerformanceValueDataINTEL registry at www.khronos.org type VkPerformanceValueDataINTEL = VkStruct VkPerformanceValueDataINTEL' -- |
--   typedef struct VkPerformanceValueINTEL {
--       VkPerformanceValueTypeINTEL        type;
--       VkPerformanceValueDataINTEL        data;
--   } VkPerformanceValueINTEL;
--   
-- -- VkPerformanceValueINTEL registry at www.khronos.org type VkPerformanceValueINTEL = VkStruct VkPerformanceValueINTEL' -- | Alias for VkQueryPoolPerformanceQueryCreateInfoINTEL type VkQueryPoolCreateInfoINTEL = VkQueryPoolPerformanceQueryCreateInfoINTEL -- |
--   typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkQueryPoolSamplingModeINTEL        performanceCountersSampling;
--   } VkQueryPoolPerformanceQueryCreateInfoINTEL;
--   
-- -- VkQueryPoolPerformanceQueryCreateInfoINTEL registry at -- www.khronos.org type VkQueryPoolPerformanceQueryCreateInfoINTEL = VkStruct VkQueryPoolPerformanceQueryCreateInfoINTEL' type VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION = 1 pattern VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" pattern VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME :: CString pattern VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR :: VkQueryType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkReleaseProfilingLockKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAcquireProfilingLockKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" module Graphics.Vulkan.Ext.VK_INTEL_shader_integer_functions2 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION = 1 pattern VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME = "VK_INTEL_shader_integer_functions2" pattern VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_ycbcr_image_arrays -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION = 1 pattern VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME = "VK_EXT_ycbcr_image_arrays" pattern VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_texture_compression_astc_hdr -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION = 1 pattern VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME = "VK_EXT_texture_compression_astc_hdr" pattern VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: VkStructureType pattern VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT :: VkFormat pattern VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT :: VkFormat module Graphics.Vulkan.Ext.VK_EXT_texel_buffer_alignment -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION = 1 pattern VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME = "VK_EXT_texel_buffer_alignment" pattern VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_shader_demote_to_helper_invocation -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 pattern VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME = "VK_EXT_shader_demote_to_helper_invocation" pattern VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_shader_atomic_float -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION = 1 pattern VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME = "VK_EXT_shader_atomic_float" pattern VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_robustness2 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 pattern VK_EXT_ROBUSTNESS_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_ROBUSTNESS_2_EXTENSION_NAME = "VK_EXT_robustness2" pattern VK_EXT_ROBUSTNESS_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_private_data -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' newtype VkPrivateDataSlotCreateBitmaskEXT (a :: FlagType) VkPrivateDataSlotCreateBitmaskEXT :: VkFlags -> VkPrivateDataSlotCreateBitmaskEXT (a :: FlagType) pattern VkPrivateDataSlotCreateFlagBitsEXT :: VkFlags -> VkPrivateDataSlotCreateBitmaskEXT FlagBit pattern VkPrivateDataSlotCreateFlagsEXT :: VkFlags -> VkPrivateDataSlotCreateBitmaskEXT FlagMask type VkPrivateDataSlotCreateFlagBitsEXT = VkPrivateDataSlotCreateBitmaskEXT FlagBit type VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateBitmaskEXT FlagMask -- |
--   typedef struct VkPrivateDataSlotCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkPrivateDataSlotCreateFlagsEXT        flags;
--   } VkPrivateDataSlotCreateInfoEXT;
--   
-- -- VkPrivateDataSlotCreateInfoEXT registry at www.khronos.org type VkPrivateDataSlotCreateInfoEXT = VkStruct VkPrivateDataSlotCreateInfoEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCreatePrivateDataSlotEXT = "vkCreatePrivateDataSlotEXT" pattern VkCreatePrivateDataSlotEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkCreatePrivateDataSlotEXT
--       ( VkDevice device
--       , const VkPrivateDataSlotCreateInfoEXT* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPrivateDataSlotEXT* pPrivateDataSlot
--       )
--   
-- -- vkCreatePrivateDataSlotEXT registry at www.khronos.org type HS_vkCreatePrivateDataSlotEXT = VkDevice " device" -> Ptr VkPrivateDataSlotCreateInfoEXT " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkPrivateDataSlotEXT " pPrivateDataSlot" -> IO VkResult type PFN_vkCreatePrivateDataSlotEXT = FunPtr HS_vkCreatePrivateDataSlotEXT type VkDestroyPrivateDataSlotEXT = "vkDestroyPrivateDataSlotEXT" pattern VkDestroyPrivateDataSlotEXT :: CString -- |
--   void vkDestroyPrivateDataSlotEXT
--       ( VkDevice device
--       , VkPrivateDataSlotEXT privateDataSlot
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPrivateDataSlotEXT registry at www.khronos.org type HS_vkDestroyPrivateDataSlotEXT = VkDevice " device" -> VkPrivateDataSlotEXT " privateDataSlot" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyPrivateDataSlotEXT = FunPtr HS_vkDestroyPrivateDataSlotEXT type VkSetPrivateDataEXT = "vkSetPrivateDataEXT" pattern VkSetPrivateDataEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkSetPrivateDataEXT
--       ( VkDevice device
--       , VkObjectType objectType
--       , uint64_t objectHandle
--       , VkPrivateDataSlotEXT privateDataSlot
--       , uint64_t data
--       )
--   
-- -- vkSetPrivateDataEXT registry at www.khronos.org type HS_vkSetPrivateDataEXT = VkDevice " device" -> VkObjectType " objectType" -> Word64 " objectHandle" -> VkPrivateDataSlotEXT " privateDataSlot" -> Word64 " data" -> IO VkResult type PFN_vkSetPrivateDataEXT = FunPtr HS_vkSetPrivateDataEXT type VkGetPrivateDataEXT = "vkGetPrivateDataEXT" pattern VkGetPrivateDataEXT :: CString -- |
--   void vkGetPrivateDataEXT
--       ( VkDevice device
--       , VkObjectType objectType
--       , uint64_t objectHandle
--       , VkPrivateDataSlotEXT privateDataSlot
--       , uint64_t* pData
--       )
--   
-- -- vkGetPrivateDataEXT registry at www.khronos.org type HS_vkGetPrivateDataEXT = VkDevice " device" -> VkObjectType " objectType" -> Word64 " objectHandle" -> VkPrivateDataSlotEXT " privateDataSlot" -> Ptr Word64 " pData" -> IO () type PFN_vkGetPrivateDataEXT = FunPtr HS_vkGetPrivateDataEXT -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | Enums to track objects of various types -- -- type = enum -- -- VkObjectType registry at www.khronos.org newtype VkObjectType VkObjectType :: Int32 -> VkObjectType pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType -- | VkInstance pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType -- | VkPhysicalDevice pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType -- | VkDevice pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType -- | VkQueue pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType -- | VkSemaphore pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType -- | VkCommandBuffer pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType -- | VkFence pattern VK_OBJECT_TYPE_FENCE :: VkObjectType -- | VkDeviceMemory pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType -- | VkBuffer pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType -- | VkImage pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType -- | VkEvent pattern VK_OBJECT_TYPE_EVENT :: VkObjectType -- | VkQueryPool pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType -- | VkBufferView pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType -- | VkImageView pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType -- | VkShaderModule pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType -- | VkPipelineCache pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType -- | VkPipelineLayout pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType -- | VkRenderPass pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType -- | VkPipeline pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType -- | VkDescriptorSetLayout pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType -- | VkSampler pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType -- | VkDescriptorPool pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType -- | VkDescriptorSet pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType -- | VkFramebuffer pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType -- | VkCommandPool pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' type VK_EXT_PRIVATE_DATA_SPEC_VERSION = 1 pattern VK_EXT_PRIVATE_DATA_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data" pattern VK_EXT_PRIVATE_DATA_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: VkStructureType pattern VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: VkObjectType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPrivateDataEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetPrivateDataEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyPrivateDataSlotEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreatePrivateDataSlotEXT" module Graphics.Vulkan.Ext.VK_EXT_pipeline_creation_cache_control -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION = 3 pattern VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME = "VK_EXT_pipeline_creation_cache_control" pattern VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: VkStructureType -- | bitpos = 8 pattern VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT :: VkPipelineCreateBitmask a -- | bitpos = 9 pattern VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT :: VkPipelineCreateBitmask a pattern VK_PIPELINE_COMPILE_REQUIRED_EXT :: VkResult pattern VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT :: VkResult -- | bitpos = 0 pattern VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT :: VkPipelineCacheCreateBitmask a module Graphics.Vulkan.Ext.VK_EXT_memory_priority -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_MEMORY_PRIORITY_SPEC_VERSION = 1 pattern VK_EXT_MEMORY_PRIORITY_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME = "VK_EXT_memory_priority" pattern VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_index_type_uint8 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION = 1 pattern VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_EXT_index_type_uint8" pattern VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: VkStructureType pattern VK_INDEX_TYPE_UINT8_EXT :: VkIndexType module Graphics.Vulkan.Ext.VK_EXT_image_robustness -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION = 1 pattern VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME = "VK_EXT_image_robustness" pattern VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_global_priority newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask (a :: FlagType) pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask -- | Queue supports graphics operations -- -- bitpos = 0 pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a -- | Queue supports compute operations -- -- bitpos = 1 pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a -- | Queue supports transfer operations -- -- bitpos = 2 pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: VkQueueGlobalPriorityEXT type VkQueueFlagBits = VkQueueBitmask FlagBit type VkQueueFlags = VkQueueBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2 pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority" pattern VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: VkStructureType pattern VK_ERROR_NOT_PERMITTED_EXT :: VkResult module Graphics.Vulkan.Ext.VK_EXT_fragment_shader_interlock -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION = 1 pattern VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME = "VK_EXT_fragment_shader_interlock" pattern VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_fragment_density_map2 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION = 1 pattern VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME = "VK_EXT_fragment_density_map2" pattern VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: VkStructureType -- | bitpos = 1 pattern VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT :: VkImageViewCreateBitmask a module Graphics.Vulkan.Ext.VK_EXT_fragment_density_map newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask (a :: FlagType) pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask -- | Controls coherency of indirect command reads -- -- bitpos = 0 pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a -- | Controls coherency of index reads -- -- bitpos = 1 pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a -- | Controls coherency of input attachment reads -- -- bitpos = 4 pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader reads -- -- bitpos = 5 pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader writes -- -- bitpos = 6 pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment reads -- -- bitpos = 7 pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment writes -- -- bitpos = 8 pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of transfer reads -- -- bitpos = 11 pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of transfer writes -- -- bitpos = 12 pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of host reads -- -- bitpos = 13 pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a -- | Controls coherency of host writes -- -- bitpos = 14 pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of memory reads -- -- bitpos = 15 pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a -- | Controls coherency of memory writes -- -- bitpos = 16 pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a type VkAccessFlagBits = VkAccessBitmask FlagBit type VkAccessFlags = VkAccessBitmask FlagMask -- |
--   typedef struct VkAttachmentDescription {
--       VkAttachmentDescriptionFlags flags;
--       VkFormat               format;
--       VkSampleCountFlagBits  samples;
--       VkAttachmentLoadOp     loadOp;
--       VkAttachmentStoreOp    storeOp;
--       VkAttachmentLoadOp     stencilLoadOp;
--       VkAttachmentStoreOp    stencilStoreOp;
--       VkImageLayout          initialLayout;
--       VkImageLayout          finalLayout;
--   } VkAttachmentDescription;
--   
-- -- VkAttachmentDescription registry at www.khronos.org type VkAttachmentDescription = VkStruct VkAttachmentDescription' -- |
--   typedef struct VkAttachmentDescription2 {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAttachmentDescriptionFlags flags;
--       VkFormat                                     format;
--       VkSampleCountFlagBits                        samples;
--       VkAttachmentLoadOp                           loadOp;
--       VkAttachmentStoreOp                          storeOp;
--       VkAttachmentLoadOp                           stencilLoadOp;
--       VkAttachmentStoreOp                          stencilStoreOp;
--       VkImageLayout                                initialLayout;
--       VkImageLayout                                finalLayout;
--   } VkAttachmentDescription2;
--   
-- -- VkAttachmentDescription2 registry at www.khronos.org type VkAttachmentDescription2 = VkStruct VkAttachmentDescription2' newtype VkAttachmentDescriptionBitmask (a :: FlagType) VkAttachmentDescriptionBitmask :: VkFlags -> VkAttachmentDescriptionBitmask (a :: FlagType) pattern VkAttachmentDescriptionFlagBits :: VkFlags -> VkAttachmentDescriptionBitmask FlagBit pattern VkAttachmentDescriptionFlags :: VkFlags -> VkAttachmentDescriptionBitmask FlagMask -- | The attachment may alias physical memory of another attachment in the -- same render pass -- -- bitpos = 0 pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: VkAttachmentDescriptionBitmask a -- | type = enum -- -- VkAttachmentLoadOp registry at www.khronos.org newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp -- | type = enum -- -- VkAttachmentStoreOp registry at www.khronos.org newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp type VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionBitmask FlagBit type VkAttachmentDescriptionFlags = VkAttachmentDescriptionBitmask FlagMask -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org type VkAttachmentReference = VkStruct VkAttachmentReference' -- |
--   typedef struct VkAttachmentReference2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          attachment;
--       VkImageLayout                     layout;
--       VkImageAspectFlags aspectMask;
--   } VkAttachmentReference2;
--   
-- -- VkAttachmentReference2 registry at www.khronos.org type VkAttachmentReference2 = VkStruct VkAttachmentReference2' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkDependencyBitmask (a :: FlagType) VkDependencyBitmask :: VkFlags -> VkDependencyBitmask (a :: FlagType) pattern VkDependencyFlagBits :: VkFlags -> VkDependencyBitmask FlagBit pattern VkDependencyFlags :: VkFlags -> VkDependencyBitmask FlagMask -- | Dependency is per pixel region -- -- bitpos = 0 pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a type VkDependencyFlagBits = VkDependencyBitmask FlagBit type VkDependencyFlags = VkDependencyBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask newtype VkRenderPassCreateBitmask (a :: FlagType) VkRenderPassCreateBitmask :: VkFlags -> VkRenderPassCreateBitmask (a :: FlagType) pattern VkRenderPassCreateFlagBits :: VkFlags -> VkRenderPassCreateBitmask FlagBit pattern VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateBitmask FlagMask type VkRenderPassCreateFlagBits = VkRenderPassCreateBitmask FlagBit type VkRenderPassCreateFlags = VkRenderPassCreateBitmask FlagMask -- |
--   typedef struct VkRenderPassCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPassCreateFlags flags;
--       uint32_t   attachmentCount;
--       const VkAttachmentDescription* pAttachments;
--       uint32_t               subpassCount;
--       const VkSubpassDescription* pSubpasses;
--       uint32_t       dependencyCount;
--       const VkSubpassDependency* pDependencies;
--   } VkRenderPassCreateInfo;
--   
-- -- VkRenderPassCreateInfo registry at www.khronos.org type VkRenderPassCreateInfo = VkStruct VkRenderPassCreateInfo' -- |
--   typedef struct VkRenderPassCreateInfo2 {
--       VkStructureType sType;
--       const void*                                              pNext;
--       VkRenderPassCreateFlags                  flags;
--       uint32_t                                 attachmentCount;
--       const VkAttachmentDescription2*    pAttachments;
--       uint32_t                                                 subpassCount;
--       const VkSubpassDescription2*          pSubpasses;
--       uint32_t                                 dependencyCount;
--       const VkSubpassDependency2*        pDependencies;
--       uint32_t                                 correlatedViewMaskCount;
--       const uint32_t*            pCorrelatedViewMasks;
--   } VkRenderPassCreateInfo2;
--   
-- -- VkRenderPassCreateInfo2 registry at www.khronos.org type VkRenderPassCreateInfo2 = VkStruct VkRenderPassCreateInfo2' -- |
--   typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkAttachmentReference            fragmentDensityMapAttachment;
--   } VkRenderPassFragmentDensityMapCreateInfoEXT;
--   
-- -- VkRenderPassFragmentDensityMapCreateInfoEXT registry at -- www.khronos.org type VkRenderPassFragmentDensityMapCreateInfoEXT = VkStruct VkRenderPassFragmentDensityMapCreateInfoEXT' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSubpassDependency {
--       uint32_t               srcSubpass;
--       uint32_t               dstSubpass;
--       VkPipelineStageFlags   srcStageMask;
--       VkPipelineStageFlags   dstStageMask;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkDependencyFlags      dependencyFlags;
--   } VkSubpassDependency;
--   
-- -- VkSubpassDependency registry at www.khronos.org type VkSubpassDependency = VkStruct VkSubpassDependency' -- |
--   typedef struct VkSubpassDependency2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          srcSubpass;
--       uint32_t                          dstSubpass;
--       VkPipelineStageFlags              srcStageMask;
--       VkPipelineStageFlags              dstStageMask;
--       VkAccessFlags     srcAccessMask;
--       VkAccessFlags     dstAccessMask;
--       VkDependencyFlags dependencyFlags;
--       int32_t           viewOffset;
--   } VkSubpassDependency2;
--   
-- -- VkSubpassDependency2 registry at www.khronos.org type VkSubpassDependency2 = VkStruct VkSubpassDependency2' -- |
--   typedef struct VkSubpassDescription {
--       VkSubpassDescriptionFlags flags;
--       VkPipelineBindPoint    pipelineBindPoint;
--       uint32_t               inputAttachmentCount;
--       const VkAttachmentReference* pInputAttachments;
--       uint32_t               colorAttachmentCount;
--       const VkAttachmentReference* pColorAttachments;
--       const VkAttachmentReference* pResolveAttachments;
--       const VkAttachmentReference* pDepthStencilAttachment;
--       uint32_t               preserveAttachmentCount;
--       const uint32_t* pPreserveAttachments;
--   } VkSubpassDescription;
--   
-- -- VkSubpassDescription registry at www.khronos.org type VkSubpassDescription = VkStruct VkSubpassDescription' -- |
--   typedef struct VkSubpassDescription2 {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkSubpassDescriptionFlags                   flags;
--       VkPipelineBindPoint                                         pipelineBindPoint;
--       uint32_t                                                    viewMask;
--       uint32_t                                    inputAttachmentCount;
--       const VkAttachmentReference2*    pInputAttachments;
--       uint32_t                                    colorAttachmentCount;
--       const VkAttachmentReference2*    pColorAttachments;
--       const VkAttachmentReference2* pResolveAttachments;
--       const VkAttachmentReference2*               pDepthStencilAttachment;
--       uint32_t                                    preserveAttachmentCount;
--       const uint32_t*               pPreserveAttachments;
--   } VkSubpassDescription2;
--   
-- -- VkSubpassDescription2 registry at www.khronos.org type VkSubpassDescription2 = VkStruct VkSubpassDescription2' -- | type = enum -- -- VkSubpassContents registry at www.khronos.org newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS :: VkSubpassContents newtype VkSubpassDescriptionBitmask (a :: FlagType) VkSubpassDescriptionBitmask :: VkFlags -> VkSubpassDescriptionBitmask (a :: FlagType) pattern VkSubpassDescriptionFlagBits :: VkFlags -> VkSubpassDescriptionBitmask FlagBit pattern VkSubpassDescriptionFlags :: VkFlags -> VkSubpassDescriptionBitmask FlagMask type VkSubpassDescriptionFlagBits = VkSubpassDescriptionBitmask FlagBit type VkSubpassDescriptionFlags = VkSubpassDescriptionBitmask FlagMask type VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 pattern VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" pattern VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: VkStructureType -- | bitpos = 14 pattern VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT :: VkImageCreateBitmask a pattern VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT :: VkImageLayout -- | bitpos = 24 pattern VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: VkAccessBitmask a -- | bitpos = 24 pattern VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT :: VkFormatFeatureBitmask a -- | bitpos = 9 pattern VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT :: VkImageUsageBitmask a -- | bitpos = 0 pattern VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT :: VkImageViewCreateBitmask a -- | bitpos = 23 pattern VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: VkPipelineStageBitmask a -- | bitpos = 0 pattern VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT :: VkSamplerCreateBitmask a -- | bitpos = 1 pattern VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT :: VkSamplerCreateBitmask a module Graphics.Vulkan.Ext.VK_EXT_custom_border_color -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkBorderColor registry at www.khronos.org newtype VkBorderColor VkBorderColor :: Int32 -> VkBorderColor pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE :: VkBorderColor -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. -- --
--   typedef union VkClearColorValue {
--       float                  float32[4];
--       int32_t                int32[4];
--       uint32_t               uint32[4];
--   } VkClearColorValue;
--   
-- -- VkClearColorValue registry at www.khronos.org type VkClearColorValue = VkStruct VkClearColorValue' -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter pattern VK_FILTER_NEAREST :: VkFilter pattern VK_FILTER_LINEAR :: VkFilter -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: VkSamplerAddressMode -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode -- | Linear filter between mip levels pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode -- | type = enum -- -- VkSamplerReductionMode registry at www.khronos.org newtype VkSamplerReductionMode VkSamplerReductionMode :: Int32 -> VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion -- | just range expansion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion -- | aka HD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion -- | aka SD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion -- | aka UHD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion -- | type = enum -- -- VkSamplerYcbcrRange registry at www.khronos.org newtype VkSamplerYcbcrRange VkSamplerYcbcrRange :: Int32 -> VkSamplerYcbcrRange -- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped) pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange newtype VkSamplerCreateBitmask (a :: FlagType) VkSamplerCreateBitmask :: VkFlags -> VkSamplerCreateBitmask (a :: FlagType) pattern VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateBitmask FlagBit pattern VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateBitmask FlagMask type VkSamplerCreateFlagBits = VkSamplerCreateBitmask FlagBit type VkSamplerCreateFlags = VkSamplerCreateBitmask FlagMask newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: VkFlags -> VkSamplerReductionModeEXT newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR -- |
--   typedef struct VkSamplerCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerCreateFlags   flags;
--       VkFilter               magFilter;
--       VkFilter               minFilter;
--       VkSamplerMipmapMode    mipmapMode;
--       VkSamplerAddressMode   addressModeU;
--       VkSamplerAddressMode   addressModeV;
--       VkSamplerAddressMode   addressModeW;
--       float                  mipLodBias;
--       VkBool32               anisotropyEnable;
--       float                  maxAnisotropy;
--       VkBool32               compareEnable;
--       VkCompareOp            compareOp;
--       float                  minLod;
--       float                  maxLod;
--       VkBorderColor          borderColor;
--       VkBool32               unnormalizedCoordinates;
--   } VkSamplerCreateInfo;
--   
-- -- VkSamplerCreateInfo registry at www.khronos.org type VkSamplerCreateInfo = VkStruct VkSamplerCreateInfo' -- |
--   typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                            pNext;
--       VkClearColorValue                                                                      customBorderColor;
--       VkFormat                                                                               format;
--   } VkSamplerCustomBorderColorCreateInfoEXT;
--   
-- -- VkSamplerCustomBorderColorCreateInfoEXT registry at -- www.khronos.org type VkSamplerCustomBorderColorCreateInfoEXT = VkStruct VkSamplerCustomBorderColorCreateInfoEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION = 12 pattern VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME = "VK_EXT_custom_border_color" pattern VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: VkStructureType pattern VK_BORDER_COLOR_FLOAT_CUSTOM_EXT :: VkBorderColor pattern VK_BORDER_COLOR_INT_CUSTOM_EXT :: VkBorderColor module Graphics.Vulkan.Ext.VK_EXT_conditional_rendering -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkBool32                            conditionalRenderingEnable;
--   } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
--   
-- -- VkCommandBufferInheritanceConditionalRenderingInfoEXT registry at -- www.khronos.org type VkCommandBufferInheritanceConditionalRenderingInfoEXT = VkStruct VkCommandBufferInheritanceConditionalRenderingInfoEXT' -- |
--   typedef struct VkCommandBufferInheritanceInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass    renderPass;
--       uint32_t               subpass;
--       VkFramebuffer   framebuffer;
--       VkBool32               occlusionQueryEnable;
--       VkQueryControlFlags    queryFlags;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkCommandBufferInheritanceInfo;
--   
-- -- VkCommandBufferInheritanceInfo registry at www.khronos.org type VkCommandBufferInheritanceInfo = VkStruct VkCommandBufferInheritanceInfo' -- |
--   typedef struct VkConditionalRenderingBeginInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBuffer                         buffer;
--       VkDeviceSize                     offset;
--       VkConditionalRenderingFlagsEXT    flags;
--   } VkConditionalRenderingBeginInfoEXT;
--   
-- -- VkConditionalRenderingBeginInfoEXT registry at www.khronos.org type VkConditionalRenderingBeginInfoEXT = VkStruct VkConditionalRenderingBeginInfoEXT' newtype VkConditionalRenderingBitmaskEXT (a :: FlagType) VkConditionalRenderingBitmaskEXT :: VkFlags -> VkConditionalRenderingBitmaskEXT (a :: FlagType) pattern VkConditionalRenderingFlagBitsEXT :: VkFlags -> VkConditionalRenderingBitmaskEXT FlagBit pattern VkConditionalRenderingFlagsEXT :: VkFlags -> VkConditionalRenderingBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT :: VkConditionalRenderingBitmaskEXT a type VkConditionalRenderingFlagBitsEXT = VkConditionalRenderingBitmaskEXT FlagBit type VkConditionalRenderingFlagsEXT = VkConditionalRenderingBitmaskEXT FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCmdBeginConditionalRenderingEXT = "vkCmdBeginConditionalRenderingEXT" pattern VkCmdBeginConditionalRenderingEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBeginConditionalRenderingEXT
--       ( VkCommandBuffer commandBuffer
--       , const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin
--       )
--   
-- -- vkCmdBeginConditionalRenderingEXT registry at www.khronos.org type HS_vkCmdBeginConditionalRenderingEXT = VkCommandBuffer " commandBuffer" -> Ptr VkConditionalRenderingBeginInfoEXT " pConditionalRenderingBegin" -> IO () type PFN_vkCmdBeginConditionalRenderingEXT = FunPtr HS_vkCmdBeginConditionalRenderingEXT type VkCmdEndConditionalRenderingEXT = "vkCmdEndConditionalRenderingEXT" pattern VkCmdEndConditionalRenderingEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdEndConditionalRenderingEXT
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkCmdEndConditionalRenderingEXT registry at www.khronos.org type HS_vkCmdEndConditionalRenderingEXT = VkCommandBuffer " commandBuffer" -> IO () type PFN_vkCmdEndConditionalRenderingEXT = FunPtr HS_vkCmdEndConditionalRenderingEXT type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION = 2 pattern VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME = "VK_EXT_conditional_rendering" pattern VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: VkStructureType -- | read access flag for reading conditional rendering predicate -- -- bitpos = 20 pattern VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT :: VkAccessBitmask a -- | Specifies the buffer can be used as predicate in conditional rendering -- -- bitpos = 9 pattern VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT :: VkBufferUsageBitmask a -- | A pipeline stage for conditional rendering predicate fetch -- -- bitpos = 18 pattern VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT :: VkPipelineStageBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndConditionalRenderingEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginConditionalRenderingEXT" module Graphics.Vulkan.Ext.VK_EXT_astc_decode_mode -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkComponentMapping {
--       VkComponentSwizzle r;
--       VkComponentSwizzle g;
--       VkComponentSwizzle b;
--       VkComponentSwizzle a;
--   } VkComponentMapping;
--   
-- -- VkComponentMapping registry at www.khronos.org type VkComponentMapping = VkStruct VkComponentMapping' -- | type = enum -- -- VkComponentSwizzle registry at www.khronos.org newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle -- | type = enum -- -- VkComponentTypeNV registry at www.khronos.org newtype VkComponentTypeNV VkComponentTypeNV :: Int32 -> VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT64_NV :: VkComponentTypeNV newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION = 1 pattern VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME = "VK_EXT_astc_decode_mode" pattern VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_4444_formats -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_4444_FORMATS_SPEC_VERSION = 1 pattern VK_EXT_4444_FORMATS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" pattern VK_EXT_4444_FORMATS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: VkStructureType pattern VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT :: VkFormat pattern VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT :: VkFormat module Graphics.Vulkan.Ext.VK_AMD_memory_overallocation_behavior -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask (a :: FlagType) pattern VkMemoryAllocateFlagBits :: VkFlags -> VkMemoryAllocateBitmask FlagBit pattern VkMemoryAllocateFlags :: VkFlags -> VkMemoryAllocateBitmask FlagMask -- | Force allocation on specific devices -- -- bitpos = 0 pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT :: VkMemoryAllocateBitmask a newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask (a :: FlagType) pattern VkMemoryHeapFlagBits :: VkFlags -> VkMemoryHeapBitmask FlagBit pattern VkMemoryHeapFlags :: VkFlags -> VkMemoryHeapBitmask FlagMask -- | If set, heap represents device memory -- -- bitpos = 0 pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a -- | type = enum -- -- VkMemoryOverallocationBehaviorAMD registry at www.khronos.org newtype VkMemoryOverallocationBehaviorAMD VkMemoryOverallocationBehaviorAMD :: Int32 -> VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask (a :: FlagType) pattern VkMemoryPropertyFlagBits :: VkFlags -> VkMemoryPropertyBitmask FlagBit pattern VkMemoryPropertyFlags :: VkFlags -> VkMemoryPropertyBitmask FlagMask -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: VkMemoryPropertyBitmask a -- | Memory is mappable by host -- -- bitpos = 1 pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT :: VkMemoryPropertyBitmask a -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT :: VkMemoryPropertyBitmask a -- | Memory will be cached by the host -- -- bitpos = 3 pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT :: VkMemoryPropertyBitmask a -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: VkMemoryPropertyBitmask a type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION = 1 pattern VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME = "VK_AMD_memory_overallocation_behavior" pattern VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: VkStructureType module Graphics.Vulkan.Ext.VK_AMD_device_coherent_memory -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION = 1 pattern VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME = "VK_AMD_device_coherent_memory" pattern VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME :: CString -- | bitpos = 6 pattern VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD :: VkMemoryPropertyBitmask a -- | bitpos = 7 pattern VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD :: VkMemoryPropertyBitmask a pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_swapchain -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkPresentInfoKHR {
--       VkStructureType sType;
--       const void*  pNext;
--       uint32_t         waitSemaphoreCount;
--       const VkSemaphore* pWaitSemaphores;
--       uint32_t                         swapchainCount;
--       const VkSwapchainKHR* pSwapchains;
--       const uint32_t* pImageIndices;
--       VkResult* pResults;
--   } VkPresentInfoKHR;
--   
-- -- VkPresentInfoKHR registry at www.khronos.org type VkPresentInfoKHR = VkStruct VkPresentInfoKHR' -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask newtype VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) VkSwapchainImageUsageBitmaskANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) pattern VkSwapchainImageUsageFlagBitsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagBit pattern VkSwapchainImageUsageFlagsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagMask -- | bitpos = 0 pattern VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID :: VkSwapchainImageUsageBitmaskANDROID a newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR (a :: FlagType) pattern VkSwapchainCreateFlagBitsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit pattern VkSwapchainCreateFlagsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainImageUsageFlagBitsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagBit type VkSwapchainImageUsageFlagsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagMask -- |
--   typedef struct VkSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainCreateFlagsKHR        flags;
--       VkSurfaceKHR                     surface;
--       uint32_t                         minImageCount;
--       VkFormat                         imageFormat;
--       VkColorSpaceKHR                  imageColorSpace;
--       VkExtent2D                       imageExtent;
--       uint32_t                         imageArrayLayers;
--       VkImageUsageFlags                imageUsage;
--       VkSharingMode                    imageSharingMode;
--       uint32_t         queueFamilyIndexCount;
--       const uint32_t*                  pQueueFamilyIndices;
--       VkSurfaceTransformFlagBitsKHR    preTransform;
--       VkCompositeAlphaFlagBitsKHR      compositeAlpha;
--       VkPresentModeKHR                 presentMode;
--       VkBool32                         clipped;
--       VkSwapchainKHR   oldSwapchain;
--   } VkSwapchainCreateInfoKHR;
--   
-- -- VkSwapchainCreateInfoKHR registry at www.khronos.org type VkSwapchainCreateInfoKHR = VkStruct VkSwapchainCreateInfoKHR' type VkCreateSwapchainKHR = "vkCreateSwapchainKHR" pattern VkCreateSwapchainKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateSwapchainKHR
--       ( VkDevice device
--       , const VkSwapchainCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchain
--       )
--   
-- -- vkCreateSwapchainKHR registry at www.khronos.org type HS_vkCreateSwapchainKHR = VkDevice " device" -> Ptr VkSwapchainCreateInfoKHR " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSwapchainKHR " pSwapchain" -> IO VkResult type PFN_vkCreateSwapchainKHR = FunPtr HS_vkCreateSwapchainKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateSwapchainKHR
--       ( VkDevice device
--       , const VkSwapchainCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchain
--       )
--   
-- -- vkCreateSwapchainKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSwapchainKHR <- vkGetDeviceProc @VkCreateSwapchainKHR vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR
--   
-- -- Note: vkCreateSwapchainKHRUnsafe and -- vkCreateSwapchainKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSwapchainKHR is an alias of -- vkCreateSwapchainKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSwapchainKHRSafe. vkCreateSwapchainKHR :: VkDevice -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateSwapchainKHR
--       ( VkDevice device
--       , const VkSwapchainCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchain
--       )
--   
-- -- vkCreateSwapchainKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSwapchainKHR <- vkGetDeviceProc @VkCreateSwapchainKHR vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR
--   
-- -- Note: vkCreateSwapchainKHRUnsafe and -- vkCreateSwapchainKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSwapchainKHR is an alias of -- vkCreateSwapchainKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSwapchainKHRSafe. vkCreateSwapchainKHRUnsafe :: VkDevice -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkCreateSwapchainKHR
--       ( VkDevice device
--       , const VkSwapchainCreateInfoKHR* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchain
--       )
--   
-- -- vkCreateSwapchainKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSwapchainKHR <- vkGetDeviceProc @VkCreateSwapchainKHR vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR
--   
-- -- Note: vkCreateSwapchainKHRUnsafe and -- vkCreateSwapchainKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSwapchainKHR is an alias of -- vkCreateSwapchainKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSwapchainKHRSafe. vkCreateSwapchainKHRSafe :: VkDevice -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult type VkDestroySwapchainKHR = "vkDestroySwapchainKHR" pattern VkDestroySwapchainKHR :: CString -- |
--   void vkDestroySwapchainKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySwapchainKHR registry at www.khronos.org type HS_vkDestroySwapchainKHR = VkDevice " device" -> VkSwapchainKHR " swapchain" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroySwapchainKHR = FunPtr HS_vkDestroySwapchainKHR -- |
--   void vkDestroySwapchainKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySwapchainKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySwapchainKHR <- vkGetDeviceProc @VkDestroySwapchainKHR vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR
--   
-- -- Note: vkDestroySwapchainKHRUnsafe and -- vkDestroySwapchainKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySwapchainKHR is an alias of -- vkDestroySwapchainKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySwapchainKHRSafe. vkDestroySwapchainKHR :: VkDevice -> VkSwapchainKHR -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySwapchainKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySwapchainKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySwapchainKHR <- vkGetDeviceProc @VkDestroySwapchainKHR vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR
--   
-- -- Note: vkDestroySwapchainKHRUnsafe and -- vkDestroySwapchainKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySwapchainKHR is an alias of -- vkDestroySwapchainKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySwapchainKHRSafe. vkDestroySwapchainKHRUnsafe :: VkDevice -> VkSwapchainKHR -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySwapchainKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySwapchainKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySwapchainKHR <- vkGetDeviceProc @VkDestroySwapchainKHR vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR
--   
-- -- Note: vkDestroySwapchainKHRUnsafe and -- vkDestroySwapchainKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySwapchainKHR is an alias of -- vkDestroySwapchainKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySwapchainKHRSafe. vkDestroySwapchainKHRSafe :: VkDevice -> VkSwapchainKHR -> Ptr VkAllocationCallbacks -> IO () type VkGetSwapchainImagesKHR = "vkGetSwapchainImagesKHR" pattern VkGetSwapchainImagesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetSwapchainImagesKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint32_t* pSwapchainImageCount
--       , VkImage* pSwapchainImages
--       )
--   
-- -- vkGetSwapchainImagesKHR registry at www.khronos.org type HS_vkGetSwapchainImagesKHR = VkDevice " device" -> VkSwapchainKHR " swapchain" -> Ptr Word32 " pSwapchainImageCount" -> Ptr VkImage " pSwapchainImages" -> IO VkResult type PFN_vkGetSwapchainImagesKHR = FunPtr HS_vkGetSwapchainImagesKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetSwapchainImagesKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint32_t* pSwapchainImageCount
--       , VkImage* pSwapchainImages
--       )
--   
-- -- vkGetSwapchainImagesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetSwapchainImagesKHR <- vkGetDeviceProc @VkGetSwapchainImagesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR
--   
-- -- Note: vkGetSwapchainImagesKHRUnsafe and -- vkGetSwapchainImagesKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetSwapchainImagesKHR is an alias of -- vkGetSwapchainImagesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetSwapchainImagesKHRSafe. vkGetSwapchainImagesKHR :: VkDevice -> VkSwapchainKHR -> Ptr Word32 -> Ptr VkImage -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetSwapchainImagesKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint32_t* pSwapchainImageCount
--       , VkImage* pSwapchainImages
--       )
--   
-- -- vkGetSwapchainImagesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetSwapchainImagesKHR <- vkGetDeviceProc @VkGetSwapchainImagesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR
--   
-- -- Note: vkGetSwapchainImagesKHRUnsafe and -- vkGetSwapchainImagesKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetSwapchainImagesKHR is an alias of -- vkGetSwapchainImagesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetSwapchainImagesKHRSafe. vkGetSwapchainImagesKHRUnsafe :: VkDevice -> VkSwapchainKHR -> Ptr Word32 -> Ptr VkImage -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetSwapchainImagesKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint32_t* pSwapchainImageCount
--       , VkImage* pSwapchainImages
--       )
--   
-- -- vkGetSwapchainImagesKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetSwapchainImagesKHR <- vkGetDeviceProc @VkGetSwapchainImagesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR
--   
-- -- Note: vkGetSwapchainImagesKHRUnsafe and -- vkGetSwapchainImagesKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetSwapchainImagesKHR is an alias of -- vkGetSwapchainImagesKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetSwapchainImagesKHRSafe. vkGetSwapchainImagesKHRSafe :: VkDevice -> VkSwapchainKHR -> Ptr Word32 -> Ptr VkImage -> IO VkResult type VkAcquireNextImageKHR = "vkAcquireNextImageKHR" pattern VkAcquireNextImageKHR :: CString -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImageKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint64_t timeout
--       , VkSemaphore semaphore
--       , VkFence fence
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImageKHR registry at www.khronos.org type HS_vkAcquireNextImageKHR = VkDevice " device" -> VkSwapchainKHR " swapchain" -> Word64 " timeout" -> VkSemaphore " semaphore" -> VkFence " fence" -> Ptr Word32 " pImageIndex" -> IO VkResult type PFN_vkAcquireNextImageKHR = FunPtr HS_vkAcquireNextImageKHR -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImageKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint64_t timeout
--       , VkSemaphore semaphore
--       , VkFence fence
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImageKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAcquireNextImageKHR <- vkGetDeviceProc @VkAcquireNextImageKHR vkDevice
--   
-- -- or less efficient: -- --
--   myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR
--   
-- -- Note: vkAcquireNextImageKHRUnsafe and -- vkAcquireNextImageKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAcquireNextImageKHR is an alias of -- vkAcquireNextImageKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAcquireNextImageKHRSafe. vkAcquireNextImageKHR :: VkDevice -> VkSwapchainKHR -> Word64 -> VkSemaphore -> VkFence -> Ptr Word32 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImageKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint64_t timeout
--       , VkSemaphore semaphore
--       , VkFence fence
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImageKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAcquireNextImageKHR <- vkGetDeviceProc @VkAcquireNextImageKHR vkDevice
--   
-- -- or less efficient: -- --
--   myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR
--   
-- -- Note: vkAcquireNextImageKHRUnsafe and -- vkAcquireNextImageKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAcquireNextImageKHR is an alias of -- vkAcquireNextImageKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAcquireNextImageKHRSafe. vkAcquireNextImageKHRUnsafe :: VkDevice -> VkSwapchainKHR -> Word64 -> VkSemaphore -> VkFence -> Ptr Word32 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImageKHR
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , uint64_t timeout
--       , VkSemaphore semaphore
--       , VkFence fence
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImageKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAcquireNextImageKHR <- vkGetDeviceProc @VkAcquireNextImageKHR vkDevice
--   
-- -- or less efficient: -- --
--   myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR
--   
-- -- Note: vkAcquireNextImageKHRUnsafe and -- vkAcquireNextImageKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAcquireNextImageKHR is an alias of -- vkAcquireNextImageKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAcquireNextImageKHRSafe. vkAcquireNextImageKHRSafe :: VkDevice -> VkSwapchainKHR -> Word64 -> VkSemaphore -> VkFence -> Ptr Word32 -> IO VkResult type VkQueuePresentKHR = "vkQueuePresentKHR" pattern VkQueuePresentKHR :: CString -- | Success codes: VK_SUCCESS, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkQueuePresentKHR
--       ( VkQueue queue
--       , const VkPresentInfoKHR* pPresentInfo
--       )
--   
-- -- vkQueuePresentKHR registry at www.khronos.org type HS_vkQueuePresentKHR = VkQueue " queue" -> Ptr VkPresentInfoKHR " pPresentInfo" -> IO VkResult type PFN_vkQueuePresentKHR = FunPtr HS_vkQueuePresentKHR -- | Success codes: VK_SUCCESS, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkQueuePresentKHR
--       ( VkQueue queue
--       , const VkPresentInfoKHR* pPresentInfo
--       )
--   
-- -- vkQueuePresentKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueuePresentKHR <- vkGetInstanceProc @VkQueuePresentKHR vkInstance
--   
-- -- or less efficient: -- --
--   myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR
--   
-- -- Note: vkQueuePresentKHRUnsafe and -- vkQueuePresentKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkQueuePresentKHR is an alias of -- vkQueuePresentKHRUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkQueuePresentKHRSafe. vkQueuePresentKHR :: VkQueue -> Ptr VkPresentInfoKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkQueuePresentKHR
--       ( VkQueue queue
--       , const VkPresentInfoKHR* pPresentInfo
--       )
--   
-- -- vkQueuePresentKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueuePresentKHR <- vkGetInstanceProc @VkQueuePresentKHR vkInstance
--   
-- -- or less efficient: -- --
--   myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR
--   
-- -- Note: vkQueuePresentKHRUnsafe and -- vkQueuePresentKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkQueuePresentKHR is an alias of -- vkQueuePresentKHRUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkQueuePresentKHRSafe. vkQueuePresentKHRUnsafe :: VkQueue -> Ptr VkPresentInfoKHR -> IO VkResult -- | Success codes: VK_SUCCESS, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkQueuePresentKHR
--       ( VkQueue queue
--       , const VkPresentInfoKHR* pPresentInfo
--       )
--   
-- -- vkQueuePresentKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueuePresentKHR <- vkGetInstanceProc @VkQueuePresentKHR vkInstance
--   
-- -- or less efficient: -- --
--   myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR
--   
-- -- Note: vkQueuePresentKHRUnsafe and -- vkQueuePresentKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkQueuePresentKHR is an alias of -- vkQueuePresentKHRUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkQueuePresentKHRSafe. vkQueuePresentKHRSafe :: VkQueue -> Ptr VkPresentInfoKHR -> IO VkResult -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkPresentRegionKHR {
--       uint32_t         rectangleCount;
--       const VkRectLayerKHR*   pRectangles;
--   } VkPresentRegionKHR;
--   
-- -- VkPresentRegionKHR registry at www.khronos.org type VkPresentRegionKHR = VkStruct VkPresentRegionKHR' -- |
--   typedef struct VkPresentRegionsKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentRegionKHR*   pRegions;
--   } VkPresentRegionsKHR;
--   
-- -- VkPresentRegionsKHR registry at www.khronos.org type VkPresentRegionsKHR = VkStruct VkPresentRegionsKHR' -- |
--   typedef struct VkPresentTimeGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--   } VkPresentTimeGOOGLE;
--   
-- -- VkPresentTimeGOOGLE registry at www.khronos.org type VkPresentTimeGOOGLE = VkStruct VkPresentTimeGOOGLE' -- |
--   typedef struct VkPresentTimesInfoGOOGLE {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentTimeGOOGLE*   pTimes;
--   } VkPresentTimesInfoGOOGLE;
--   
-- -- VkPresentTimesInfoGOOGLE registry at www.khronos.org type VkPresentTimesInfoGOOGLE = VkStruct VkPresentTimesInfoGOOGLE' -- |
--   typedef struct VkSwapchainCounterCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSurfaceCounterFlagsEXT         surfaceCounters;
--   } VkSwapchainCounterCreateInfoEXT;
--   
-- -- VkSwapchainCounterCreateInfoEXT registry at www.khronos.org type VkSwapchainCounterCreateInfoEXT = VkStruct VkSwapchainCounterCreateInfoEXT' -- |
--   typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       localDimmingEnable;
--   } VkSwapchainDisplayNativeHdrCreateInfoAMD;
--   
-- -- VkSwapchainDisplayNativeHdrCreateInfoAMD registry at -- www.khronos.org type VkSwapchainDisplayNativeHdrCreateInfoAMD = VkStruct VkSwapchainDisplayNativeHdrCreateInfoAMD' type VK_KHR_SWAPCHAIN_SPEC_VERSION = 70 pattern VK_KHR_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain" pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR :: VkStructureType pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR :: VkImageLayout pattern VK_SUBOPTIMAL_KHR :: VkResult pattern VK_ERROR_OUT_OF_DATE_KHR :: VkResult -- | VkSwapchainKHR pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR :: VkObjectType -- |
--   typedef struct VkAcquireNextImageInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint64_t                         timeout;
--       VkSemaphore semaphore;
--       VkFence fence;
--       uint32_t                         deviceMask;
--   } VkAcquireNextImageInfoKHR;
--   
-- -- VkAcquireNextImageInfoKHR registry at www.khronos.org type VkAcquireNextImageInfoKHR = VkStruct VkAcquireNextImageInfoKHR' -- |
--   typedef struct VkBindImageMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage                          image;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindImageMemoryInfo;
--   
-- -- VkBindImageMemoryInfo registry at www.khronos.org type VkBindImageMemoryInfo = VkStruct VkBindImageMemoryInfo' -- |
--   typedef struct VkBindImageMemorySwapchainInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint32_t                         imageIndex;
--   } VkBindImageMemorySwapchainInfoKHR;
--   
-- -- VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org type VkBindImageMemorySwapchainInfoKHR = VkStruct VkBindImageMemorySwapchainInfoKHR' -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkGetDeviceGroupPresentCapabilitiesKHR = "vkGetDeviceGroupPresentCapabilitiesKHR" pattern VkGetDeviceGroupPresentCapabilitiesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDeviceGroupPresentCapabilitiesKHR
--       ( VkDevice device
--       , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities
--       )
--   
-- -- vkGetDeviceGroupPresentCapabilitiesKHR registry at -- www.khronos.org type HS_vkGetDeviceGroupPresentCapabilitiesKHR = VkDevice " device" -> Ptr VkDeviceGroupPresentCapabilitiesKHR " pDeviceGroupPresentCapabilities" -> IO VkResult type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = FunPtr HS_vkGetDeviceGroupPresentCapabilitiesKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDeviceGroupPresentCapabilitiesKHR
--       ( VkDevice device
--       , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities
--       )
--   
-- -- vkGetDeviceGroupPresentCapabilitiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupPresentCapabilitiesKHR <- vkGetDeviceProc @VkGetDeviceGroupPresentCapabilitiesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR
--   
-- -- Note: vkGetDeviceGroupPresentCapabilitiesKHRUnsafe and -- vkGetDeviceGroupPresentCapabilitiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupPresentCapabilitiesKHR is an -- alias of vkGetDeviceGroupPresentCapabilitiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetDeviceGroupPresentCapabilitiesKHRSafe. vkGetDeviceGroupPresentCapabilitiesKHR :: VkDevice -> Ptr VkDeviceGroupPresentCapabilitiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDeviceGroupPresentCapabilitiesKHR
--       ( VkDevice device
--       , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities
--       )
--   
-- -- vkGetDeviceGroupPresentCapabilitiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupPresentCapabilitiesKHR <- vkGetDeviceProc @VkGetDeviceGroupPresentCapabilitiesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR
--   
-- -- Note: vkGetDeviceGroupPresentCapabilitiesKHRUnsafe and -- vkGetDeviceGroupPresentCapabilitiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupPresentCapabilitiesKHR is an -- alias of vkGetDeviceGroupPresentCapabilitiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetDeviceGroupPresentCapabilitiesKHRSafe. vkGetDeviceGroupPresentCapabilitiesKHRUnsafe :: VkDevice -> Ptr VkDeviceGroupPresentCapabilitiesKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDeviceGroupPresentCapabilitiesKHR
--       ( VkDevice device
--       , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities
--       )
--   
-- -- vkGetDeviceGroupPresentCapabilitiesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupPresentCapabilitiesKHR <- vkGetDeviceProc @VkGetDeviceGroupPresentCapabilitiesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR
--   
-- -- Note: vkGetDeviceGroupPresentCapabilitiesKHRUnsafe and -- vkGetDeviceGroupPresentCapabilitiesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupPresentCapabilitiesKHR is an -- alias of vkGetDeviceGroupPresentCapabilitiesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetDeviceGroupPresentCapabilitiesKHRSafe. vkGetDeviceGroupPresentCapabilitiesKHRSafe :: VkDevice -> Ptr VkDeviceGroupPresentCapabilitiesKHR -> IO VkResult type VkGetDeviceGroupSurfacePresentModesKHR = "vkGetDeviceGroupSurfacePresentModesKHR" pattern VkGetDeviceGroupSurfacePresentModesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetDeviceGroupSurfacePresentModesKHR
--       ( VkDevice device
--       , VkSurfaceKHR surface
--       , VkDeviceGroupPresentModeFlagsKHR* pModes
--       )
--   
-- -- vkGetDeviceGroupSurfacePresentModesKHR registry at -- www.khronos.org type HS_vkGetDeviceGroupSurfacePresentModesKHR = VkDevice " device" -> VkSurfaceKHR " surface" -> Ptr VkDeviceGroupPresentModeFlagsKHR " pModes" -> IO VkResult type PFN_vkGetDeviceGroupSurfacePresentModesKHR = FunPtr HS_vkGetDeviceGroupSurfacePresentModesKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetDeviceGroupSurfacePresentModesKHR
--       ( VkDevice device
--       , VkSurfaceKHR surface
--       , VkDeviceGroupPresentModeFlagsKHR* pModes
--       )
--   
-- -- vkGetDeviceGroupSurfacePresentModesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupSurfacePresentModesKHR <- vkGetDeviceProc @VkGetDeviceGroupSurfacePresentModesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR
--   
-- -- Note: vkGetDeviceGroupSurfacePresentModesKHRUnsafe and -- vkGetDeviceGroupSurfacePresentModesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupSurfacePresentModesKHR is an -- alias of vkGetDeviceGroupSurfacePresentModesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetDeviceGroupSurfacePresentModesKHRSafe. vkGetDeviceGroupSurfacePresentModesKHR :: VkDevice -> VkSurfaceKHR -> Ptr VkDeviceGroupPresentModeFlagsKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetDeviceGroupSurfacePresentModesKHR
--       ( VkDevice device
--       , VkSurfaceKHR surface
--       , VkDeviceGroupPresentModeFlagsKHR* pModes
--       )
--   
-- -- vkGetDeviceGroupSurfacePresentModesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupSurfacePresentModesKHR <- vkGetDeviceProc @VkGetDeviceGroupSurfacePresentModesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR
--   
-- -- Note: vkGetDeviceGroupSurfacePresentModesKHRUnsafe and -- vkGetDeviceGroupSurfacePresentModesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupSurfacePresentModesKHR is an -- alias of vkGetDeviceGroupSurfacePresentModesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetDeviceGroupSurfacePresentModesKHRSafe. vkGetDeviceGroupSurfacePresentModesKHRUnsafe :: VkDevice -> VkSurfaceKHR -> Ptr VkDeviceGroupPresentModeFlagsKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetDeviceGroupSurfacePresentModesKHR
--       ( VkDevice device
--       , VkSurfaceKHR surface
--       , VkDeviceGroupPresentModeFlagsKHR* pModes
--       )
--   
-- -- vkGetDeviceGroupSurfacePresentModesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupSurfacePresentModesKHR <- vkGetDeviceProc @VkGetDeviceGroupSurfacePresentModesKHR vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR
--   
-- -- Note: vkGetDeviceGroupSurfacePresentModesKHRUnsafe and -- vkGetDeviceGroupSurfacePresentModesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupSurfacePresentModesKHR is an -- alias of vkGetDeviceGroupSurfacePresentModesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetDeviceGroupSurfacePresentModesKHRSafe. vkGetDeviceGroupSurfacePresentModesKHRSafe :: VkDevice -> VkSurfaceKHR -> Ptr VkDeviceGroupPresentModeFlagsKHR -> IO VkResult type VkGetPhysicalDevicePresentRectanglesKHR = "vkGetPhysicalDevicePresentRectanglesKHR" pattern VkGetPhysicalDevicePresentRectanglesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDevicePresentRectanglesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pRectCount
--       , VkRect2D* pRects
--       )
--   
-- -- vkGetPhysicalDevicePresentRectanglesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDevicePresentRectanglesKHR = VkPhysicalDevice " physicalDevice" -> VkSurfaceKHR " surface" -> Ptr Word32 " pRectCount" -> Ptr VkRect2D " pRects" -> IO VkResult type PFN_vkGetPhysicalDevicePresentRectanglesKHR = FunPtr HS_vkGetPhysicalDevicePresentRectanglesKHR -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDevicePresentRectanglesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pRectCount
--       , VkRect2D* pRects
--       )
--   
-- -- vkGetPhysicalDevicePresentRectanglesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDevicePresentRectanglesKHR <- vkGetInstanceProc @VkGetPhysicalDevicePresentRectanglesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR
--   
-- -- Note: vkGetPhysicalDevicePresentRectanglesKHRUnsafe -- and vkGetPhysicalDevicePresentRectanglesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDevicePresentRectanglesKHR is an -- alias of vkGetPhysicalDevicePresentRectanglesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDevicePresentRectanglesKHRSafe. vkGetPhysicalDevicePresentRectanglesKHR :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkRect2D -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDevicePresentRectanglesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pRectCount
--       , VkRect2D* pRects
--       )
--   
-- -- vkGetPhysicalDevicePresentRectanglesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDevicePresentRectanglesKHR <- vkGetInstanceProc @VkGetPhysicalDevicePresentRectanglesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR
--   
-- -- Note: vkGetPhysicalDevicePresentRectanglesKHRUnsafe -- and vkGetPhysicalDevicePresentRectanglesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDevicePresentRectanglesKHR is an -- alias of vkGetPhysicalDevicePresentRectanglesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDevicePresentRectanglesKHRSafe. vkGetPhysicalDevicePresentRectanglesKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkRect2D -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDevicePresentRectanglesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pRectCount
--       , VkRect2D* pRects
--       )
--   
-- -- vkGetPhysicalDevicePresentRectanglesKHR registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDevicePresentRectanglesKHR <- vkGetInstanceProc @VkGetPhysicalDevicePresentRectanglesKHR vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR
--   
-- -- Note: vkGetPhysicalDevicePresentRectanglesKHRUnsafe -- and vkGetPhysicalDevicePresentRectanglesKHRSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDevicePresentRectanglesKHR is an -- alias of vkGetPhysicalDevicePresentRectanglesKHRUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDevicePresentRectanglesKHRSafe. vkGetPhysicalDevicePresentRectanglesKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkRect2D -> IO VkResult type VkAcquireNextImage2KHR = "vkAcquireNextImage2KHR" pattern VkAcquireNextImage2KHR :: CString -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImage2KHR
--       ( VkDevice device
--       , const VkAcquireNextImageInfoKHR* pAcquireInfo
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImage2KHR registry at www.khronos.org type HS_vkAcquireNextImage2KHR = VkDevice " device" -> Ptr VkAcquireNextImageInfoKHR " pAcquireInfo" -> Ptr Word32 " pImageIndex" -> IO VkResult type PFN_vkAcquireNextImage2KHR = FunPtr HS_vkAcquireNextImage2KHR -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImage2KHR
--       ( VkDevice device
--       , const VkAcquireNextImageInfoKHR* pAcquireInfo
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImage2KHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAcquireNextImage2KHR <- vkGetDeviceProc @VkAcquireNextImage2KHR vkDevice
--   
-- -- or less efficient: -- --
--   myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR
--   
-- -- Note: vkAcquireNextImage2KHRUnsafe and -- vkAcquireNextImage2KHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAcquireNextImage2KHR is an alias of -- vkAcquireNextImage2KHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAcquireNextImage2KHRSafe. vkAcquireNextImage2KHR :: VkDevice -> Ptr VkAcquireNextImageInfoKHR -> Ptr Word32 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImage2KHR
--       ( VkDevice device
--       , const VkAcquireNextImageInfoKHR* pAcquireInfo
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImage2KHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAcquireNextImage2KHR <- vkGetDeviceProc @VkAcquireNextImage2KHR vkDevice
--   
-- -- or less efficient: -- --
--   myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR
--   
-- -- Note: vkAcquireNextImage2KHRUnsafe and -- vkAcquireNextImage2KHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAcquireNextImage2KHR is an alias of -- vkAcquireNextImage2KHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAcquireNextImage2KHRSafe. vkAcquireNextImage2KHRUnsafe :: VkDevice -> Ptr VkAcquireNextImageInfoKHR -> Ptr Word32 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImage2KHR
--       ( VkDevice device
--       , const VkAcquireNextImageInfoKHR* pAcquireInfo
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImage2KHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAcquireNextImage2KHR <- vkGetDeviceProc @VkAcquireNextImage2KHR vkDevice
--   
-- -- or less efficient: -- --
--   myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR
--   
-- -- Note: vkAcquireNextImage2KHRUnsafe and -- vkAcquireNextImage2KHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAcquireNextImage2KHR is an alias of -- vkAcquireNextImage2KHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAcquireNextImage2KHRSafe. vkAcquireNextImage2KHRSafe :: VkDevice -> Ptr VkAcquireNextImageInfoKHR -> Ptr Word32 -> IO VkResult -- |
--   typedef struct VkAcquireProfilingLockInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAcquireProfilingLockFlagsKHR flags;
--       uint64_t timeout;
--   } VkAcquireProfilingLockInfoKHR;
--   
-- -- VkAcquireProfilingLockInfoKHR registry at www.khronos.org type VkAcquireProfilingLockInfoKHR = VkStruct VkAcquireProfilingLockInfoKHR' -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org type VkDeviceGroupBindSparseInfo = VkStruct VkDeviceGroupBindSparseInfo' -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- |
--   typedef struct VkDeviceGroupCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--   } VkDeviceGroupCommandBufferBeginInfo;
--   
-- -- VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org type VkDeviceGroupCommandBufferBeginInfo = VkStruct VkDeviceGroupCommandBufferBeginInfo' -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- |
--   typedef struct VkDeviceGroupDeviceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         physicalDeviceCount;
--       const VkPhysicalDevice*  pPhysicalDevices;
--   } VkDeviceGroupDeviceCreateInfo;
--   
-- -- VkDeviceGroupDeviceCreateInfo registry at www.khronos.org type VkDeviceGroupDeviceCreateInfo = VkStruct VkDeviceGroupDeviceCreateInfo' -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- |
--   typedef struct VkDeviceGroupRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--       uint32_t         deviceRenderAreaCount;
--       const VkRect2D*  pDeviceRenderAreas;
--   } VkDeviceGroupRenderPassBeginInfo;
--   
-- -- VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org type VkDeviceGroupRenderPassBeginInfo = VkStruct VkDeviceGroupRenderPassBeginInfo' -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- |
--   typedef struct VkDeviceGroupSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreCount;
--       const uint32_t*    pWaitSemaphoreDeviceIndices;
--       uint32_t         commandBufferCount;
--       const uint32_t*    pCommandBufferDeviceMasks;
--       uint32_t         signalSemaphoreCount;
--       const uint32_t*  pSignalSemaphoreDeviceIndices;
--   } VkDeviceGroupSubmitInfo;
--   
-- -- VkDeviceGroupSubmitInfo registry at www.khronos.org type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--   } VkDeviceMemoryOpaqueCaptureAddressInfo;
--   
-- -- VkDeviceMemoryOpaqueCaptureAddressInfo registry at -- www.khronos.org type VkDeviceMemoryOpaqueCaptureAddressInfo = VkStruct VkDeviceMemoryOpaqueCaptureAddressInfo' -- | Alias for VkDeviceMemoryOpaqueCaptureAddressInfo type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: VkStructureType -- | Allow images with VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT -- -- bitpos = 0 pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: VkSwapchainCreateBitmaskKHR a -- | Swapchain is protected -- -- bitpos = 1 pattern VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR :: VkSwapchainCreateBitmaskKHR a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAcquireNextImage2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDevicePresentRectanglesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupSurfacePresentModesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupPresentCapabilitiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueuePresentKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAcquireNextImageKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSwapchainImagesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySwapchainKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSwapchainKHR" module Graphics.Vulkan.Ext.VK_KHR_display_swapchain -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDisplayPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRect2D                         srcRect;
--       VkRect2D                         dstRect;
--       VkBool32                         persistent;
--   } VkDisplayPresentInfoKHR;
--   
-- -- VkDisplayPresentInfoKHR registry at www.khronos.org type VkDisplayPresentInfoKHR = VkStruct VkDisplayPresentInfoKHR' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPresentInfoKHR {
--       VkStructureType sType;
--       const void*  pNext;
--       uint32_t         waitSemaphoreCount;
--       const VkSemaphore* pWaitSemaphores;
--       uint32_t                         swapchainCount;
--       const VkSwapchainKHR* pSwapchains;
--       const uint32_t* pImageIndices;
--       VkResult* pResults;
--   } VkPresentInfoKHR;
--   
-- -- VkPresentInfoKHR registry at www.khronos.org type VkPresentInfoKHR = VkStruct VkPresentInfoKHR' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCreateSharedSwapchainsKHR = "vkCreateSharedSwapchainsKHR" pattern VkCreateSharedSwapchainsKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkCreateSharedSwapchainsKHR
--       ( VkDevice device
--       , uint32_t swapchainCount
--       , const VkSwapchainCreateInfoKHR* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchains
--       )
--   
-- -- vkCreateSharedSwapchainsKHR registry at www.khronos.org type HS_vkCreateSharedSwapchainsKHR = VkDevice " device" -> Word32 " swapchainCount" -> Ptr VkSwapchainCreateInfoKHR " pCreateInfos" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSwapchainKHR " pSwapchains" -> IO VkResult type PFN_vkCreateSharedSwapchainsKHR = FunPtr HS_vkCreateSharedSwapchainsKHR -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkCreateSharedSwapchainsKHR
--       ( VkDevice device
--       , uint32_t swapchainCount
--       , const VkSwapchainCreateInfoKHR* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchains
--       )
--   
-- -- vkCreateSharedSwapchainsKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSharedSwapchainsKHR <- vkGetDeviceProc @VkCreateSharedSwapchainsKHR vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR
--   
-- -- Note: vkCreateSharedSwapchainsKHRUnsafe and -- vkCreateSharedSwapchainsKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSharedSwapchainsKHR is an alias of -- vkCreateSharedSwapchainsKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSharedSwapchainsKHRSafe. vkCreateSharedSwapchainsKHR :: VkDevice -> Word32 -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkCreateSharedSwapchainsKHR
--       ( VkDevice device
--       , uint32_t swapchainCount
--       , const VkSwapchainCreateInfoKHR* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchains
--       )
--   
-- -- vkCreateSharedSwapchainsKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSharedSwapchainsKHR <- vkGetDeviceProc @VkCreateSharedSwapchainsKHR vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR
--   
-- -- Note: vkCreateSharedSwapchainsKHRUnsafe and -- vkCreateSharedSwapchainsKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSharedSwapchainsKHR is an alias of -- vkCreateSharedSwapchainsKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSharedSwapchainsKHRSafe. vkCreateSharedSwapchainsKHRUnsafe :: VkDevice -> Word32 -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, VK_ERROR_DEVICE_LOST, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkCreateSharedSwapchainsKHR
--       ( VkDevice device
--       , uint32_t swapchainCount
--       , const VkSwapchainCreateInfoKHR* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkSwapchainKHR* pSwapchains
--       )
--   
-- -- vkCreateSharedSwapchainsKHR registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSharedSwapchainsKHR <- vkGetDeviceProc @VkCreateSharedSwapchainsKHR vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR
--   
-- -- Note: vkCreateSharedSwapchainsKHRUnsafe and -- vkCreateSharedSwapchainsKHRSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSharedSwapchainsKHR is an alias of -- vkCreateSharedSwapchainsKHRUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSharedSwapchainsKHRSafe. vkCreateSharedSwapchainsKHRSafe :: VkDevice -> Word32 -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask newtype VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) VkSwapchainImageUsageBitmaskANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) pattern VkSwapchainImageUsageFlagBitsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagBit pattern VkSwapchainImageUsageFlagsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagMask -- | bitpos = 0 pattern VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID :: VkSwapchainImageUsageBitmaskANDROID a newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR (a :: FlagType) pattern VkSwapchainCreateFlagBitsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit pattern VkSwapchainCreateFlagsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainImageUsageFlagBitsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagBit type VkSwapchainImageUsageFlagsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagMask -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkSwapchainCounterCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSurfaceCounterFlagsEXT         surfaceCounters;
--   } VkSwapchainCounterCreateInfoEXT;
--   
-- -- VkSwapchainCounterCreateInfoEXT registry at www.khronos.org type VkSwapchainCounterCreateInfoEXT = VkStruct VkSwapchainCounterCreateInfoEXT' -- |
--   typedef struct VkSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainCreateFlagsKHR        flags;
--       VkSurfaceKHR                     surface;
--       uint32_t                         minImageCount;
--       VkFormat                         imageFormat;
--       VkColorSpaceKHR                  imageColorSpace;
--       VkExtent2D                       imageExtent;
--       uint32_t                         imageArrayLayers;
--       VkImageUsageFlags                imageUsage;
--       VkSharingMode                    imageSharingMode;
--       uint32_t         queueFamilyIndexCount;
--       const uint32_t*                  pQueueFamilyIndices;
--       VkSurfaceTransformFlagBitsKHR    preTransform;
--       VkCompositeAlphaFlagBitsKHR      compositeAlpha;
--       VkPresentModeKHR                 presentMode;
--       VkBool32                         clipped;
--       VkSwapchainKHR   oldSwapchain;
--   } VkSwapchainCreateInfoKHR;
--   
-- -- VkSwapchainCreateInfoKHR registry at www.khronos.org type VkSwapchainCreateInfoKHR = VkStruct VkSwapchainCreateInfoKHR' -- |
--   typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       localDimmingEnable;
--   } VkSwapchainDisplayNativeHdrCreateInfoAMD;
--   
-- -- VkSwapchainDisplayNativeHdrCreateInfoAMD registry at -- www.khronos.org type VkSwapchainDisplayNativeHdrCreateInfoAMD = VkStruct VkSwapchainDisplayNativeHdrCreateInfoAMD' type VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 10 pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_display_swapchain" pattern VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: VkStructureType pattern VK_ERROR_INCOMPATIBLE_DISPLAY_KHR :: VkResult instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSharedSwapchainsKHR" module Graphics.Vulkan.Ext.VK_EXT_display_control -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDisplayEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayEventTypeEXT            displayEvent;
--   } VkDisplayEventInfoEXT;
--   
-- -- VkDisplayEventInfoEXT registry at www.khronos.org type VkDisplayEventInfoEXT = VkStruct VkDisplayEventInfoEXT' -- | type = enum -- -- VkDisplayEventTypeEXT registry at www.khronos.org newtype VkDisplayEventTypeEXT VkDisplayEventTypeEXT :: Int32 -> VkDisplayEventTypeEXT pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT :: VkDisplayEventTypeEXT newtype VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) VkDisplayPlaneAlphaBitmaskKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) pattern VkDisplayPlaneAlphaFlagBitsKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagBit pattern VkDisplayPlaneAlphaFlagsKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: VkDisplayPlaneAlphaBitmaskKHR a -- | type = enum -- -- VkDisplayPowerStateEXT registry at www.khronos.org newtype VkDisplayPowerStateEXT VkDisplayPowerStateEXT :: Int32 -> VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_OFF_EXT :: VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT :: VkDisplayPowerStateEXT pattern VK_DISPLAY_POWER_STATE_ON_EXT :: VkDisplayPowerStateEXT type VkDisplayPlaneAlphaFlagBitsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagBit type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkDisplayPowerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayPowerStateEXT           powerState;
--   } VkDisplayPowerInfoEXT;
--   
-- -- VkDisplayPowerInfoEXT registry at www.khronos.org type VkDisplayPowerInfoEXT = VkStruct VkDisplayPowerInfoEXT' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask -- |
--   typedef struct VkSwapchainCounterCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSurfaceCounterFlagsEXT         surfaceCounters;
--   } VkSwapchainCounterCreateInfoEXT;
--   
-- -- VkSwapchainCounterCreateInfoEXT registry at www.khronos.org type VkSwapchainCounterCreateInfoEXT = VkStruct VkSwapchainCounterCreateInfoEXT' newtype VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) VkSwapchainImageUsageBitmaskANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) pattern VkSwapchainImageUsageFlagBitsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagBit pattern VkSwapchainImageUsageFlagsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagMask -- | bitpos = 0 pattern VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID :: VkSwapchainImageUsageBitmaskANDROID a newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR (a :: FlagType) pattern VkSwapchainCreateFlagBitsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit pattern VkSwapchainCreateFlagsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainImageUsageFlagBitsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagBit type VkSwapchainImageUsageFlagsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagMask -- |
--   typedef struct VkSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainCreateFlagsKHR        flags;
--       VkSurfaceKHR                     surface;
--       uint32_t                         minImageCount;
--       VkFormat                         imageFormat;
--       VkColorSpaceKHR                  imageColorSpace;
--       VkExtent2D                       imageExtent;
--       uint32_t                         imageArrayLayers;
--       VkImageUsageFlags                imageUsage;
--       VkSharingMode                    imageSharingMode;
--       uint32_t         queueFamilyIndexCount;
--       const uint32_t*                  pQueueFamilyIndices;
--       VkSurfaceTransformFlagBitsKHR    preTransform;
--       VkCompositeAlphaFlagBitsKHR      compositeAlpha;
--       VkPresentModeKHR                 presentMode;
--       VkBool32                         clipped;
--       VkSwapchainKHR   oldSwapchain;
--   } VkSwapchainCreateInfoKHR;
--   
-- -- VkSwapchainCreateInfoKHR registry at www.khronos.org type VkSwapchainCreateInfoKHR = VkStruct VkSwapchainCreateInfoKHR' type VkDisplayPowerControlEXT = "vkDisplayPowerControlEXT" pattern VkDisplayPowerControlEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkDisplayPowerControlEXT
--       ( VkDevice device
--       , VkDisplayKHR display
--       , const VkDisplayPowerInfoEXT* pDisplayPowerInfo
--       )
--   
-- -- vkDisplayPowerControlEXT registry at www.khronos.org type HS_vkDisplayPowerControlEXT = VkDevice " device" -> VkDisplayKHR " display" -> Ptr VkDisplayPowerInfoEXT " pDisplayPowerInfo" -> IO VkResult type PFN_vkDisplayPowerControlEXT = FunPtr HS_vkDisplayPowerControlEXT type VkRegisterDeviceEventEXT = "vkRegisterDeviceEventEXT" pattern VkRegisterDeviceEventEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkRegisterDeviceEventEXT
--       ( VkDevice device
--       , const VkDeviceEventInfoEXT* pDeviceEventInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFence* pFence
--       )
--   
-- -- vkRegisterDeviceEventEXT registry at www.khronos.org type HS_vkRegisterDeviceEventEXT = VkDevice " device" -> Ptr VkDeviceEventInfoEXT " pDeviceEventInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkFence " pFence" -> IO VkResult type PFN_vkRegisterDeviceEventEXT = FunPtr HS_vkRegisterDeviceEventEXT type VkRegisterDisplayEventEXT = "vkRegisterDisplayEventEXT" pattern VkRegisterDisplayEventEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkRegisterDisplayEventEXT
--       ( VkDevice device
--       , VkDisplayKHR display
--       , const VkDisplayEventInfoEXT* pDisplayEventInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFence* pFence
--       )
--   
-- -- vkRegisterDisplayEventEXT registry at www.khronos.org type HS_vkRegisterDisplayEventEXT = VkDevice " device" -> VkDisplayKHR " display" -> Ptr VkDisplayEventInfoEXT " pDisplayEventInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkFence " pFence" -> IO VkResult type PFN_vkRegisterDisplayEventEXT = FunPtr HS_vkRegisterDisplayEventEXT type VkGetSwapchainCounterEXT = "vkGetSwapchainCounterEXT" pattern VkGetSwapchainCounterEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_DEVICE_LOST, VK_ERROR_OUT_OF_DATE_KHR. -- --
--   VkResult vkGetSwapchainCounterEXT
--       ( VkDevice device
--       , VkSwapchainKHR swapchain
--       , VkSurfaceCounterFlagBitsEXT counter
--       , uint64_t* pCounterValue
--       )
--   
-- -- vkGetSwapchainCounterEXT registry at www.khronos.org type HS_vkGetSwapchainCounterEXT = VkDevice " device" -> VkSwapchainKHR " swapchain" -> VkSurfaceCounterFlagBitsEXT " counter" -> Ptr Word64 " pCounterValue" -> IO VkResult type PFN_vkGetSwapchainCounterEXT = FunPtr HS_vkGetSwapchainCounterEXT -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org type VkDeviceGroupBindSparseInfo = VkStruct VkDeviceGroupBindSparseInfo' -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- |
--   typedef struct VkDeviceGroupCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--   } VkDeviceGroupCommandBufferBeginInfo;
--   
-- -- VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org type VkDeviceGroupCommandBufferBeginInfo = VkStruct VkDeviceGroupCommandBufferBeginInfo' -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- |
--   typedef struct VkDeviceGroupDeviceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         physicalDeviceCount;
--       const VkPhysicalDevice*  pPhysicalDevices;
--   } VkDeviceGroupDeviceCreateInfo;
--   
-- -- VkDeviceGroupDeviceCreateInfo registry at www.khronos.org type VkDeviceGroupDeviceCreateInfo = VkStruct VkDeviceGroupDeviceCreateInfo' -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' -- |
--   typedef struct VkDeviceGroupRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--       uint32_t         deviceRenderAreaCount;
--       const VkRect2D*  pDeviceRenderAreas;
--   } VkDeviceGroupRenderPassBeginInfo;
--   
-- -- VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org type VkDeviceGroupRenderPassBeginInfo = VkStruct VkDeviceGroupRenderPassBeginInfo' -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- |
--   typedef struct VkDeviceGroupSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreCount;
--       const uint32_t*    pWaitSemaphoreDeviceIndices;
--       uint32_t         commandBufferCount;
--       const uint32_t*    pCommandBufferDeviceMasks;
--       uint32_t         signalSemaphoreCount;
--       const uint32_t*  pSignalSemaphoreDeviceIndices;
--   } VkDeviceGroupSubmitInfo;
--   
-- -- VkDeviceGroupSubmitInfo registry at www.khronos.org type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- |
--   typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--   } VkDeviceMemoryOpaqueCaptureAddressInfo;
--   
-- -- VkDeviceMemoryOpaqueCaptureAddressInfo registry at -- www.khronos.org type VkDeviceMemoryOpaqueCaptureAddressInfo = VkStruct VkDeviceMemoryOpaqueCaptureAddressInfo' -- | Alias for VkDeviceMemoryOpaqueCaptureAddressInfo type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' -- |
--   typedef struct VkDisplayModeCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayModeCreateFlagsKHR      flags;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModeCreateInfoKHR;
--   
-- -- VkDisplayModeCreateInfoKHR registry at www.khronos.org type VkDisplayModeCreateInfoKHR = VkStruct VkDisplayModeCreateInfoKHR' -- |
--   typedef struct VkDisplayModeParametersKHR {
--       VkExtent2D                       visibleRegion;
--       uint32_t   refreshRate;
--   } VkDisplayModeParametersKHR;
--   
-- -- VkDisplayModeParametersKHR registry at www.khronos.org type VkDisplayModeParametersKHR = VkStruct VkDisplayModeParametersKHR' -- |
--   typedef struct VkDisplayModeProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayModePropertiesKHR displayModeProperties;
--   } VkDisplayModeProperties2KHR;
--   
-- -- VkDisplayModeProperties2KHR registry at www.khronos.org type VkDisplayModeProperties2KHR = VkStruct VkDisplayModeProperties2KHR' -- |
--   typedef struct VkDisplayModePropertiesKHR {
--       VkDisplayModeKHR                 displayMode;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModePropertiesKHR;
--   
-- -- VkDisplayModePropertiesKHR registry at www.khronos.org type VkDisplayModePropertiesKHR = VkStruct VkDisplayModePropertiesKHR' -- |
--   typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
--       VkStructureType sType;
--       void*          pNext;
--       VkBool32       localDimmingSupport;
--   } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
--   
-- -- VkDisplayNativeHdrSurfaceCapabilitiesAMD registry at -- www.khronos.org type VkDisplayNativeHdrSurfaceCapabilitiesAMD = VkStruct VkDisplayNativeHdrSurfaceCapabilitiesAMD' -- |
--   typedef struct VkDisplayPlaneCapabilities2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPlaneCapabilitiesKHR capabilities;
--   } VkDisplayPlaneCapabilities2KHR;
--   
-- -- VkDisplayPlaneCapabilities2KHR registry at www.khronos.org type VkDisplayPlaneCapabilities2KHR = VkStruct VkDisplayPlaneCapabilities2KHR' -- |
--   typedef struct VkDisplayPlaneCapabilitiesKHR {
--       VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;
--       VkOffset2D                       minSrcPosition;
--       VkOffset2D                       maxSrcPosition;
--       VkExtent2D                       minSrcExtent;
--       VkExtent2D                       maxSrcExtent;
--       VkOffset2D                       minDstPosition;
--       VkOffset2D                       maxDstPosition;
--       VkExtent2D                       minDstExtent;
--       VkExtent2D                       maxDstExtent;
--   } VkDisplayPlaneCapabilitiesKHR;
--   
-- -- VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org type VkDisplayPlaneCapabilitiesKHR = VkStruct VkDisplayPlaneCapabilitiesKHR' -- |
--   typedef struct VkDisplayPlaneInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkDisplayModeKHR mode;
--       uint32_t planeIndex;
--   } VkDisplayPlaneInfo2KHR;
--   
-- -- VkDisplayPlaneInfo2KHR registry at www.khronos.org type VkDisplayPlaneInfo2KHR = VkStruct VkDisplayPlaneInfo2KHR' -- |
--   typedef struct VkDisplayPlaneProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPlanePropertiesKHR displayPlaneProperties;
--   } VkDisplayPlaneProperties2KHR;
--   
-- -- VkDisplayPlaneProperties2KHR registry at www.khronos.org type VkDisplayPlaneProperties2KHR = VkStruct VkDisplayPlaneProperties2KHR' -- |
--   typedef struct VkDisplayPlanePropertiesKHR {
--       VkDisplayKHR                     currentDisplay;
--       uint32_t                         currentStackIndex;
--   } VkDisplayPlanePropertiesKHR;
--   
-- -- VkDisplayPlanePropertiesKHR registry at www.khronos.org type VkDisplayPlanePropertiesKHR = VkStruct VkDisplayPlanePropertiesKHR' -- |
--   typedef struct VkDisplayPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRect2D                         srcRect;
--       VkRect2D                         dstRect;
--       VkBool32                         persistent;
--   } VkDisplayPresentInfoKHR;
--   
-- -- VkDisplayPresentInfoKHR registry at www.khronos.org type VkDisplayPresentInfoKHR = VkStruct VkDisplayPresentInfoKHR' -- |
--   typedef struct VkDisplayProperties2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkDisplayPropertiesKHR displayProperties;
--   } VkDisplayProperties2KHR;
--   
-- -- VkDisplayProperties2KHR registry at www.khronos.org type VkDisplayProperties2KHR = VkStruct VkDisplayProperties2KHR' -- |
--   typedef struct VkDisplayPropertiesKHR {
--       VkDisplayKHR                     display;
--       const char*                      displayName;
--       VkExtent2D                       physicalDimensions;
--       VkExtent2D                       physicalResolution;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkBool32                         planeReorderPossible;
--       VkBool32                         persistentContent;
--   } VkDisplayPropertiesKHR;
--   
-- -- VkDisplayPropertiesKHR registry at www.khronos.org type VkDisplayPropertiesKHR = VkStruct VkDisplayPropertiesKHR' -- |
--   typedef struct VkDisplaySurfaceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplaySurfaceCreateFlagsKHR   flags;
--       VkDisplayModeKHR                 displayMode;
--       uint32_t                         planeIndex;
--       uint32_t                         planeStackIndex;
--       VkSurfaceTransformFlagBitsKHR    transform;
--       float                            globalAlpha;
--       VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;
--       VkExtent2D                       imageExtent;
--   } VkDisplaySurfaceCreateInfoKHR;
--   
-- -- VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org type VkDisplaySurfaceCreateInfoKHR = VkStruct VkDisplaySurfaceCreateInfoKHR' type VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1 pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control" pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSwapchainCounterEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkRegisterDisplayEventEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkRegisterDeviceEventEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDisplayPowerControlEXT" module Graphics.Vulkan.Ext.VK_AMD_display_native_hdr -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
--       VkStructureType sType;
--       void*          pNext;
--       VkBool32       localDimmingSupport;
--   } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
--   
-- -- VkDisplayNativeHdrSurfaceCapabilitiesAMD registry at -- www.khronos.org type VkDisplayNativeHdrSurfaceCapabilitiesAMD = VkStruct VkDisplayNativeHdrSurfaceCapabilitiesAMD' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org type VkSurfaceCapabilities2KHR = VkStruct VkSurfaceCapabilities2KHR' -- |
--   typedef struct VkSurfaceCapabilitiesKHR {
--       uint32_t                         minImageCount;
--       uint32_t                         maxImageCount;
--       VkExtent2D                       currentExtent;
--       VkExtent2D                       minImageExtent;
--       VkExtent2D                       maxImageExtent;
--       uint32_t                         maxImageArrayLayers;
--       VkSurfaceTransformFlagsKHR       supportedTransforms;
--       VkSurfaceTransformFlagBitsKHR    currentTransform;
--       VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--       VkImageUsageFlags                supportedUsageFlags;
--   } VkSurfaceCapabilitiesKHR;
--   
-- -- VkSurfaceCapabilitiesKHR registry at www.khronos.org type VkSurfaceCapabilitiesKHR = VkStruct VkSurfaceCapabilitiesKHR' newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask newtype VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) VkSwapchainImageUsageBitmaskANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) pattern VkSwapchainImageUsageFlagBitsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagBit pattern VkSwapchainImageUsageFlagsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagMask -- | bitpos = 0 pattern VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID :: VkSwapchainImageUsageBitmaskANDROID a newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR (a :: FlagType) pattern VkSwapchainCreateFlagBitsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit pattern VkSwapchainCreateFlagsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainImageUsageFlagBitsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagBit type VkSwapchainImageUsageFlagsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagMask -- |
--   typedef struct VkSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainCreateFlagsKHR        flags;
--       VkSurfaceKHR                     surface;
--       uint32_t                         minImageCount;
--       VkFormat                         imageFormat;
--       VkColorSpaceKHR                  imageColorSpace;
--       VkExtent2D                       imageExtent;
--       uint32_t                         imageArrayLayers;
--       VkImageUsageFlags                imageUsage;
--       VkSharingMode                    imageSharingMode;
--       uint32_t         queueFamilyIndexCount;
--       const uint32_t*                  pQueueFamilyIndices;
--       VkSurfaceTransformFlagBitsKHR    preTransform;
--       VkCompositeAlphaFlagBitsKHR      compositeAlpha;
--       VkPresentModeKHR                 presentMode;
--       VkBool32                         clipped;
--       VkSwapchainKHR   oldSwapchain;
--   } VkSwapchainCreateInfoKHR;
--   
-- -- VkSwapchainCreateInfoKHR registry at www.khronos.org type VkSwapchainCreateInfoKHR = VkStruct VkSwapchainCreateInfoKHR' -- |
--   typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       localDimmingEnable;
--   } VkSwapchainDisplayNativeHdrCreateInfoAMD;
--   
-- -- VkSwapchainDisplayNativeHdrCreateInfoAMD registry at -- www.khronos.org type VkSwapchainDisplayNativeHdrCreateInfoAMD = VkStruct VkSwapchainDisplayNativeHdrCreateInfoAMD' type VkSetLocalDimmingAMD = "vkSetLocalDimmingAMD" pattern VkSetLocalDimmingAMD :: CString -- |
--   void vkSetLocalDimmingAMD
--       ( VkDevice device
--       , VkSwapchainKHR swapChain
--       , VkBool32 localDimmingEnable
--       )
--   
-- -- vkSetLocalDimmingAMD registry at www.khronos.org type HS_vkSetLocalDimmingAMD = VkDevice " device" -> VkSwapchainKHR " swapChain" -> VkBool32 " localDimmingEnable" -> IO () type PFN_vkSetLocalDimmingAMD = FunPtr HS_vkSetLocalDimmingAMD type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION = 1 pattern VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" pattern VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: VkStructureType pattern VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: VkStructureType pattern VK_COLOR_SPACE_DISPLAY_NATIVE_AMD :: VkColorSpaceKHR instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetLocalDimmingAMD" module Graphics.Vulkan.Ext.VK_AMD_texture_gather_bias_lod -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkTextureLODGatherFormatPropertiesAMD {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         supportsTextureGatherLODBiasAMD;
--   } VkTextureLODGatherFormatPropertiesAMD;
--   
-- -- VkTextureLODGatherFormatPropertiesAMD registry at -- www.khronos.org type VkTextureLODGatherFormatPropertiesAMD = VkStruct VkTextureLODGatherFormatPropertiesAMD' type VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1 pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME = "VK_AMD_texture_gather_bias_lod" pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: VkStructureType module Graphics.Vulkan.Core_1_2 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkConformanceVersion {
--       uint8_t                          major;
--       uint8_t                          minor;
--       uint8_t                          subminor;
--       uint8_t                          patch;
--   } VkConformanceVersion;
--   
-- -- VkConformanceVersion registry at www.khronos.org type VkConformanceVersion = VkStruct VkConformanceVersion' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkDriverId registry at www.khronos.org newtype VkDriverId VkDriverId :: Int32 -> VkDriverId -- | Advanced Micro Devices, Inc. pattern VK_DRIVER_ID_AMD_PROPRIETARY :: VkDriverId -- | Advanced Micro Devices, Inc. pattern VK_DRIVER_ID_AMD_OPEN_SOURCE :: VkDriverId -- | Mesa open source project pattern VK_DRIVER_ID_MESA_RADV :: VkDriverId -- | NVIDIA Corporation pattern VK_DRIVER_ID_NVIDIA_PROPRIETARY :: VkDriverId -- | Intel Corporation pattern VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: VkDriverId -- | Intel Corporation pattern VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: VkDriverId -- | Imagination Technologies pattern VK_DRIVER_ID_IMAGINATION_PROPRIETARY :: VkDriverId -- | Qualcomm Technologies, Inc. pattern VK_DRIVER_ID_QUALCOMM_PROPRIETARY :: VkDriverId -- | Arm Limited pattern VK_DRIVER_ID_ARM_PROPRIETARY :: VkDriverId -- | Google LLC pattern VK_DRIVER_ID_GOOGLE_SWIFTSHADER :: VkDriverId -- | Google LLC pattern VK_DRIVER_ID_GGP_PROPRIETARY :: VkDriverId -- | Broadcom Inc. pattern VK_DRIVER_ID_BROADCOM_PROPRIETARY :: VkDriverId -- | Mesa pattern VK_DRIVER_ID_MESA_LLVMPIPE :: VkDriverId -- | MoltenVK pattern VK_DRIVER_ID_MOLTENVK :: VkDriverId newtype VkDriverIdKHR VkDriverIdKHR :: VkFlags -> VkDriverIdKHR -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- | type = enum -- -- VkPointClippingBehavior registry at www.khronos.org newtype VkPointClippingBehavior VkPointClippingBehavior :: Int32 -> VkPointClippingBehavior pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES :: VkPointClippingBehavior pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY :: VkPointClippingBehavior newtype VkPointClippingBehaviorKHR VkPointClippingBehaviorKHR :: VkFlags -> VkPointClippingBehaviorKHR newtype VkResolveModeBitmask (a :: FlagType) VkResolveModeBitmask :: VkFlags -> VkResolveModeBitmask (a :: FlagType) pattern VkResolveModeFlagBits :: VkFlags -> VkResolveModeBitmask FlagBit pattern VkResolveModeFlags :: VkFlags -> VkResolveModeBitmask FlagMask pattern VK_RESOLVE_MODE_NONE :: VkResolveModeBitmask a -- | bitpos = 0 pattern VK_RESOLVE_MODE_SAMPLE_ZERO_BIT :: VkResolveModeBitmask a -- | bitpos = 1 pattern VK_RESOLVE_MODE_AVERAGE_BIT :: VkResolveModeBitmask a -- | bitpos = 2 pattern VK_RESOLVE_MODE_MIN_BIT :: VkResolveModeBitmask a -- | bitpos = 3 pattern VK_RESOLVE_MODE_MAX_BIT :: VkResolveModeBitmask a type VkResolveModeFlagBits = VkResolveModeBitmask FlagBit newtype VkResolveModeFlagBitsKHR VkResolveModeFlagBitsKHR :: VkFlags -> VkResolveModeFlagBitsKHR type VkResolveModeFlags = VkResolveModeBitmask FlagMask newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkSubgroupFeatureBitmask (a :: FlagType) VkSubgroupFeatureBitmask :: VkFlags -> VkSubgroupFeatureBitmask (a :: FlagType) pattern VkSubgroupFeatureFlagBits :: VkFlags -> VkSubgroupFeatureBitmask FlagBit pattern VkSubgroupFeatureFlags :: VkFlags -> VkSubgroupFeatureBitmask FlagMask -- | Basic subgroup operations -- -- bitpos = 0 pattern VK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureBitmask a -- | Vote subgroup operations -- -- bitpos = 1 pattern VK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureBitmask a -- | Arithmetic subgroup operations -- -- bitpos = 2 pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT :: VkSubgroupFeatureBitmask a -- | Ballot subgroup operations -- -- bitpos = 3 pattern VK_SUBGROUP_FEATURE_BALLOT_BIT :: VkSubgroupFeatureBitmask a -- | Shuffle subgroup operations -- -- bitpos = 4 pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT :: VkSubgroupFeatureBitmask a -- | Shuffle relative subgroup operations -- -- bitpos = 5 pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT :: VkSubgroupFeatureBitmask a -- | Clustered subgroup operations -- -- bitpos = 6 pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT :: VkSubgroupFeatureBitmask a -- | Quad subgroup operations -- -- bitpos = 7 pattern VK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureBitmask a type VkSubgroupFeatureFlagBits = VkSubgroupFeatureBitmask FlagBit type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: VkStructureType -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask newtype VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) VkSwapchainImageUsageBitmaskANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) pattern VkSwapchainImageUsageFlagBitsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagBit pattern VkSwapchainImageUsageFlagsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagMask -- | bitpos = 0 pattern VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID :: VkSwapchainImageUsageBitmaskANDROID a newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR (a :: FlagType) pattern VkSwapchainCreateFlagBitsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit pattern VkSwapchainCreateFlagsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainImageUsageFlagBitsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagBit type VkSwapchainImageUsageFlagsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagMask -- |
--   typedef struct VkSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainCreateFlagsKHR        flags;
--       VkSurfaceKHR                     surface;
--       uint32_t                         minImageCount;
--       VkFormat                         imageFormat;
--       VkColorSpaceKHR                  imageColorSpace;
--       VkExtent2D                       imageExtent;
--       uint32_t                         imageArrayLayers;
--       VkImageUsageFlags                imageUsage;
--       VkSharingMode                    imageSharingMode;
--       uint32_t         queueFamilyIndexCount;
--       const uint32_t*                  pQueueFamilyIndices;
--       VkSurfaceTransformFlagBitsKHR    preTransform;
--       VkCompositeAlphaFlagBitsKHR      compositeAlpha;
--       VkPresentModeKHR                 presentMode;
--       VkBool32                         clipped;
--       VkSwapchainKHR   oldSwapchain;
--   } VkSwapchainCreateInfoKHR;
--   
-- -- VkSwapchainCreateInfoKHR registry at www.khronos.org type VkSwapchainCreateInfoKHR = VkStruct VkSwapchainCreateInfoKHR' pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: VkStructureType -- | No need to add an extnumber attribute, since this uses a core enum -- value pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE :: VkSamplerAddressMode type VkCmdDrawIndirectCount = "vkCmdDrawIndirectCount" pattern VkCmdDrawIndirectCount :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirectCount registry at www.khronos.org type HS_vkCmdDrawIndirectCount = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkBuffer " countBuffer" -> VkDeviceSize " countBufferOffset" -> Word32 " maxDrawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndirectCount = FunPtr HS_vkCmdDrawIndirectCount -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirectCount registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndirectCount <- vkGetInstanceProc @VkCmdDrawIndirectCount vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndirectCount <- vkGetProc @VkCmdDrawIndirectCount
--   
-- -- Note: vkCmdDrawIndirectCountUnsafe and -- vkCmdDrawIndirectCountSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndirectCount is an alias of -- vkCmdDrawIndirectCountUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndirectCountSafe. vkCmdDrawIndirectCount :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirectCount registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndirectCount <- vkGetInstanceProc @VkCmdDrawIndirectCount vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndirectCount <- vkGetProc @VkCmdDrawIndirectCount
--   
-- -- Note: vkCmdDrawIndirectCountUnsafe and -- vkCmdDrawIndirectCountSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndirectCount is an alias of -- vkCmdDrawIndirectCountUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndirectCountSafe. vkCmdDrawIndirectCountUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirectCount registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndirectCount <- vkGetInstanceProc @VkCmdDrawIndirectCount vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndirectCount <- vkGetProc @VkCmdDrawIndirectCount
--   
-- -- Note: vkCmdDrawIndirectCountUnsafe and -- vkCmdDrawIndirectCountSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndirectCount is an alias of -- vkCmdDrawIndirectCountUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndirectCountSafe. vkCmdDrawIndirectCountSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () type VkCmdDrawIndexedIndirectCount = "vkCmdDrawIndexedIndirectCount" pattern VkCmdDrawIndexedIndirectCount :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirectCount registry at www.khronos.org type HS_vkCmdDrawIndexedIndirectCount = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkBuffer " countBuffer" -> VkDeviceSize " countBufferOffset" -> Word32 " maxDrawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndexedIndirectCount = FunPtr HS_vkCmdDrawIndexedIndirectCount -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirectCount registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexedIndirectCount <- vkGetInstanceProc @VkCmdDrawIndexedIndirectCount vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexedIndirectCount <- vkGetProc @VkCmdDrawIndexedIndirectCount
--   
-- -- Note: vkCmdDrawIndexedIndirectCountUnsafe and -- vkCmdDrawIndexedIndirectCountSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexedIndirectCount is an alias of -- vkCmdDrawIndexedIndirectCountUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndexedIndirectCountSafe. vkCmdDrawIndexedIndirectCount :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirectCount registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexedIndirectCount <- vkGetInstanceProc @VkCmdDrawIndexedIndirectCount vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexedIndirectCount <- vkGetProc @VkCmdDrawIndexedIndirectCount
--   
-- -- Note: vkCmdDrawIndexedIndirectCountUnsafe and -- vkCmdDrawIndexedIndirectCountSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexedIndirectCount is an alias of -- vkCmdDrawIndexedIndirectCountUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndexedIndirectCountSafe. vkCmdDrawIndexedIndirectCountUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirectCount
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkBuffer countBuffer
--       , VkDeviceSize countBufferOffset
--       , uint32_t maxDrawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirectCount registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexedIndirectCount <- vkGetInstanceProc @VkCmdDrawIndexedIndirectCount vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexedIndirectCount <- vkGetProc @VkCmdDrawIndexedIndirectCount
--   
-- -- Note: vkCmdDrawIndexedIndirectCountUnsafe and -- vkCmdDrawIndexedIndirectCountSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexedIndirectCount is an alias of -- vkCmdDrawIndexedIndirectCountUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndexedIndirectCountSafe. vkCmdDrawIndexedIndirectCountSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask (a :: FlagType) pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask -- | Controls coherency of indirect command reads -- -- bitpos = 0 pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a -- | Controls coherency of index reads -- -- bitpos = 1 pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a -- | Controls coherency of input attachment reads -- -- bitpos = 4 pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader reads -- -- bitpos = 5 pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader writes -- -- bitpos = 6 pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment reads -- -- bitpos = 7 pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment writes -- -- bitpos = 8 pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of transfer reads -- -- bitpos = 11 pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of transfer writes -- -- bitpos = 12 pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of host reads -- -- bitpos = 13 pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a -- | Controls coherency of host writes -- -- bitpos = 14 pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of memory reads -- -- bitpos = 15 pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a -- | Controls coherency of memory writes -- -- bitpos = 16 pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a type VkAccessFlagBits = VkAccessBitmask FlagBit type VkAccessFlags = VkAccessBitmask FlagMask -- |
--   typedef struct VkAttachmentDescription2 {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAttachmentDescriptionFlags flags;
--       VkFormat                                     format;
--       VkSampleCountFlagBits                        samples;
--       VkAttachmentLoadOp                           loadOp;
--       VkAttachmentStoreOp                          storeOp;
--       VkAttachmentLoadOp                           stencilLoadOp;
--       VkAttachmentStoreOp                          stencilStoreOp;
--       VkImageLayout                                initialLayout;
--       VkImageLayout                                finalLayout;
--   } VkAttachmentDescription2;
--   
-- -- VkAttachmentDescription2 registry at www.khronos.org type VkAttachmentDescription2 = VkStruct VkAttachmentDescription2' newtype VkAttachmentDescriptionBitmask (a :: FlagType) VkAttachmentDescriptionBitmask :: VkFlags -> VkAttachmentDescriptionBitmask (a :: FlagType) pattern VkAttachmentDescriptionFlagBits :: VkFlags -> VkAttachmentDescriptionBitmask FlagBit pattern VkAttachmentDescriptionFlags :: VkFlags -> VkAttachmentDescriptionBitmask FlagMask -- | The attachment may alias physical memory of another attachment in the -- same render pass -- -- bitpos = 0 pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: VkAttachmentDescriptionBitmask a -- | type = enum -- -- VkAttachmentLoadOp registry at www.khronos.org newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp -- | type = enum -- -- VkAttachmentStoreOp registry at www.khronos.org newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp type VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionBitmask FlagBit type VkAttachmentDescriptionFlags = VkAttachmentDescriptionBitmask FlagMask -- |
--   typedef struct VkAttachmentReference2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          attachment;
--       VkImageLayout                     layout;
--       VkImageAspectFlags aspectMask;
--   } VkAttachmentReference2;
--   
-- -- VkAttachmentReference2 registry at www.khronos.org type VkAttachmentReference2 = VkStruct VkAttachmentReference2' newtype VkDependencyBitmask (a :: FlagType) VkDependencyBitmask :: VkFlags -> VkDependencyBitmask (a :: FlagType) pattern VkDependencyFlagBits :: VkFlags -> VkDependencyBitmask FlagBit pattern VkDependencyFlags :: VkFlags -> VkDependencyBitmask FlagMask -- | Dependency is per pixel region -- -- bitpos = 0 pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a type VkDependencyFlagBits = VkDependencyBitmask FlagBit type VkDependencyFlags = VkDependencyBitmask FlagMask -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask newtype VkRenderPassCreateBitmask (a :: FlagType) VkRenderPassCreateBitmask :: VkFlags -> VkRenderPassCreateBitmask (a :: FlagType) pattern VkRenderPassCreateFlagBits :: VkFlags -> VkRenderPassCreateBitmask FlagBit pattern VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateBitmask FlagMask type VkRenderPassCreateFlagBits = VkRenderPassCreateBitmask FlagBit type VkRenderPassCreateFlags = VkRenderPassCreateBitmask FlagMask -- |
--   typedef struct VkRenderPassCreateInfo2 {
--       VkStructureType sType;
--       const void*                                              pNext;
--       VkRenderPassCreateFlags                  flags;
--       uint32_t                                 attachmentCount;
--       const VkAttachmentDescription2*    pAttachments;
--       uint32_t                                                 subpassCount;
--       const VkSubpassDescription2*          pSubpasses;
--       uint32_t                                 dependencyCount;
--       const VkSubpassDependency2*        pDependencies;
--       uint32_t                                 correlatedViewMaskCount;
--       const uint32_t*            pCorrelatedViewMasks;
--   } VkRenderPassCreateInfo2;
--   
-- -- VkRenderPassCreateInfo2 registry at www.khronos.org type VkRenderPassCreateInfo2 = VkStruct VkRenderPassCreateInfo2' -- |
--   typedef struct VkSubpassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSubpassContents      contents;
--   } VkSubpassBeginInfo;
--   
-- -- VkSubpassBeginInfo registry at www.khronos.org type VkSubpassBeginInfo = VkStruct VkSubpassBeginInfo' -- | type = enum -- -- VkSubpassContents registry at www.khronos.org newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS :: VkSubpassContents newtype VkSubpassDescriptionBitmask (a :: FlagType) VkSubpassDescriptionBitmask :: VkFlags -> VkSubpassDescriptionBitmask (a :: FlagType) pattern VkSubpassDescriptionFlagBits :: VkFlags -> VkSubpassDescriptionBitmask FlagBit pattern VkSubpassDescriptionFlags :: VkFlags -> VkSubpassDescriptionBitmask FlagMask type VkSubpassDescriptionFlagBits = VkSubpassDescriptionBitmask FlagBit type VkSubpassDescriptionFlags = VkSubpassDescriptionBitmask FlagMask -- |
--   typedef struct VkSubpassDependency2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          srcSubpass;
--       uint32_t                          dstSubpass;
--       VkPipelineStageFlags              srcStageMask;
--       VkPipelineStageFlags              dstStageMask;
--       VkAccessFlags     srcAccessMask;
--       VkAccessFlags     dstAccessMask;
--       VkDependencyFlags dependencyFlags;
--       int32_t           viewOffset;
--   } VkSubpassDependency2;
--   
-- -- VkSubpassDependency2 registry at www.khronos.org type VkSubpassDependency2 = VkStruct VkSubpassDependency2' -- |
--   typedef struct VkSubpassDescription2 {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkSubpassDescriptionFlags                   flags;
--       VkPipelineBindPoint                                         pipelineBindPoint;
--       uint32_t                                                    viewMask;
--       uint32_t                                    inputAttachmentCount;
--       const VkAttachmentReference2*    pInputAttachments;
--       uint32_t                                    colorAttachmentCount;
--       const VkAttachmentReference2*    pColorAttachments;
--       const VkAttachmentReference2* pResolveAttachments;
--       const VkAttachmentReference2*               pDepthStencilAttachment;
--       uint32_t                                    preserveAttachmentCount;
--       const uint32_t*               pPreserveAttachments;
--   } VkSubpassDescription2;
--   
-- -- VkSubpassDescription2 registry at www.khronos.org type VkSubpassDescription2 = VkStruct VkSubpassDescription2' -- |
--   typedef struct VkSubpassEndInfo {
--       VkStructureType sType;
--       const void*            pNext;
--   } VkSubpassEndInfo;
--   
-- -- VkSubpassEndInfo registry at www.khronos.org type VkSubpassEndInfo = VkStruct VkSubpassEndInfo' type VkCreateRenderPass2 = "vkCreateRenderPass2" pattern VkCreateRenderPass2 :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass2
--       ( VkDevice device
--       , const VkRenderPassCreateInfo2* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass2 registry at www.khronos.org type HS_vkCreateRenderPass2 = VkDevice " device" -> Ptr VkRenderPassCreateInfo2 " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkRenderPass " pRenderPass" -> IO VkResult type PFN_vkCreateRenderPass2 = FunPtr HS_vkCreateRenderPass2 -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass2
--       ( VkDevice device
--       , const VkRenderPassCreateInfo2* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateRenderPass2 <- vkGetDeviceProc @VkCreateRenderPass2 vkDevice
--   
-- -- or less efficient: -- --
--   myCreateRenderPass2 <- vkGetProc @VkCreateRenderPass2
--   
-- -- Note: vkCreateRenderPass2Unsafe and -- vkCreateRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateRenderPass2 is an alias of -- vkCreateRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateRenderPass2Safe. vkCreateRenderPass2 :: VkDevice -> Ptr VkRenderPassCreateInfo2 -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass2
--       ( VkDevice device
--       , const VkRenderPassCreateInfo2* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateRenderPass2 <- vkGetDeviceProc @VkCreateRenderPass2 vkDevice
--   
-- -- or less efficient: -- --
--   myCreateRenderPass2 <- vkGetProc @VkCreateRenderPass2
--   
-- -- Note: vkCreateRenderPass2Unsafe and -- vkCreateRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateRenderPass2 is an alias of -- vkCreateRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateRenderPass2Safe. vkCreateRenderPass2Unsafe :: VkDevice -> Ptr VkRenderPassCreateInfo2 -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass2
--       ( VkDevice device
--       , const VkRenderPassCreateInfo2* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateRenderPass2 <- vkGetDeviceProc @VkCreateRenderPass2 vkDevice
--   
-- -- or less efficient: -- --
--   myCreateRenderPass2 <- vkGetProc @VkCreateRenderPass2
--   
-- -- Note: vkCreateRenderPass2Unsafe and -- vkCreateRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateRenderPass2 is an alias of -- vkCreateRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateRenderPass2Safe. vkCreateRenderPass2Safe :: VkDevice -> Ptr VkRenderPassCreateInfo2 -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult type VkCmdBeginRenderPass2 = "vkCmdBeginRenderPass2" pattern VkCmdBeginRenderPass2 :: CString -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo*      pRenderPassBegin
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       )
--   
-- -- vkCmdBeginRenderPass2 registry at www.khronos.org type HS_vkCmdBeginRenderPass2 = VkCommandBuffer " commandBuffer" -> Ptr VkRenderPassBeginInfo " pRenderPassBegin" -> Ptr VkSubpassBeginInfo " pSubpassBeginInfo" -> IO () type PFN_vkCmdBeginRenderPass2 = FunPtr HS_vkCmdBeginRenderPass2 -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo*      pRenderPassBegin
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       )
--   
-- -- vkCmdBeginRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginRenderPass2 <- vkGetInstanceProc @VkCmdBeginRenderPass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginRenderPass2 <- vkGetProc @VkCmdBeginRenderPass2
--   
-- -- Note: vkCmdBeginRenderPass2Unsafe and -- vkCmdBeginRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBeginRenderPass2 is an alias of -- vkCmdBeginRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginRenderPass2Safe. vkCmdBeginRenderPass2 :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> Ptr VkSubpassBeginInfo -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo*      pRenderPassBegin
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       )
--   
-- -- vkCmdBeginRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginRenderPass2 <- vkGetInstanceProc @VkCmdBeginRenderPass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginRenderPass2 <- vkGetProc @VkCmdBeginRenderPass2
--   
-- -- Note: vkCmdBeginRenderPass2Unsafe and -- vkCmdBeginRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBeginRenderPass2 is an alias of -- vkCmdBeginRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginRenderPass2Safe. vkCmdBeginRenderPass2Unsafe :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> Ptr VkSubpassBeginInfo -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo*      pRenderPassBegin
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       )
--   
-- -- vkCmdBeginRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginRenderPass2 <- vkGetInstanceProc @VkCmdBeginRenderPass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginRenderPass2 <- vkGetProc @VkCmdBeginRenderPass2
--   
-- -- Note: vkCmdBeginRenderPass2Unsafe and -- vkCmdBeginRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBeginRenderPass2 is an alias of -- vkCmdBeginRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginRenderPass2Safe. vkCmdBeginRenderPass2Safe :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> Ptr VkSubpassBeginInfo -> IO () type VkCmdNextSubpass2 = "vkCmdNextSubpass2" pattern VkCmdNextSubpass2 :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdNextSubpass2 registry at www.khronos.org type HS_vkCmdNextSubpass2 = VkCommandBuffer " commandBuffer" -> Ptr VkSubpassBeginInfo " pSubpassBeginInfo" -> Ptr VkSubpassEndInfo " pSubpassEndInfo" -> IO () type PFN_vkCmdNextSubpass2 = FunPtr HS_vkCmdNextSubpass2 -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdNextSubpass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdNextSubpass2 <- vkGetInstanceProc @VkCmdNextSubpass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdNextSubpass2 <- vkGetProc @VkCmdNextSubpass2
--   
-- -- Note: vkCmdNextSubpass2Unsafe and -- vkCmdNextSubpass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdNextSubpass2 is an alias of -- vkCmdNextSubpass2Unsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdNextSubpass2Safe. vkCmdNextSubpass2 :: VkCommandBuffer -> Ptr VkSubpassBeginInfo -> Ptr VkSubpassEndInfo -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdNextSubpass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdNextSubpass2 <- vkGetInstanceProc @VkCmdNextSubpass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdNextSubpass2 <- vkGetProc @VkCmdNextSubpass2
--   
-- -- Note: vkCmdNextSubpass2Unsafe and -- vkCmdNextSubpass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdNextSubpass2 is an alias of -- vkCmdNextSubpass2Unsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdNextSubpass2Safe. vkCmdNextSubpass2Unsafe :: VkCommandBuffer -> Ptr VkSubpassBeginInfo -> Ptr VkSubpassEndInfo -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdNextSubpass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdNextSubpass2 <- vkGetInstanceProc @VkCmdNextSubpass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdNextSubpass2 <- vkGetProc @VkCmdNextSubpass2
--   
-- -- Note: vkCmdNextSubpass2Unsafe and -- vkCmdNextSubpass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdNextSubpass2 is an alias of -- vkCmdNextSubpass2Unsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdNextSubpass2Safe. vkCmdNextSubpass2Safe :: VkCommandBuffer -> Ptr VkSubpassBeginInfo -> Ptr VkSubpassEndInfo -> IO () type VkCmdEndRenderPass2 = "vkCmdEndRenderPass2" pattern VkCmdEndRenderPass2 :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdEndRenderPass2 registry at www.khronos.org type HS_vkCmdEndRenderPass2 = VkCommandBuffer " commandBuffer" -> Ptr VkSubpassEndInfo " pSubpassEndInfo" -> IO () type PFN_vkCmdEndRenderPass2 = FunPtr HS_vkCmdEndRenderPass2 -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdEndRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndRenderPass2 <- vkGetInstanceProc @VkCmdEndRenderPass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndRenderPass2 <- vkGetProc @VkCmdEndRenderPass2
--   
-- -- Note: vkCmdEndRenderPass2Unsafe and -- vkCmdEndRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdEndRenderPass2 is an alias of -- vkCmdEndRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndRenderPass2Safe. vkCmdEndRenderPass2 :: VkCommandBuffer -> Ptr VkSubpassEndInfo -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdEndRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndRenderPass2 <- vkGetInstanceProc @VkCmdEndRenderPass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndRenderPass2 <- vkGetProc @VkCmdEndRenderPass2
--   
-- -- Note: vkCmdEndRenderPass2Unsafe and -- vkCmdEndRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdEndRenderPass2 is an alias of -- vkCmdEndRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndRenderPass2Safe. vkCmdEndRenderPass2Unsafe :: VkCommandBuffer -> Ptr VkSubpassEndInfo -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass2
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdEndRenderPass2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndRenderPass2 <- vkGetInstanceProc @VkCmdEndRenderPass2 vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndRenderPass2 <- vkGetProc @VkCmdEndRenderPass2
--   
-- -- Note: vkCmdEndRenderPass2Unsafe and -- vkCmdEndRenderPass2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdEndRenderPass2 is an alias of -- vkCmdEndRenderPass2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndRenderPass2Safe. vkCmdEndRenderPass2Safe :: VkCommandBuffer -> Ptr VkSubpassEndInfo -> IO () -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkAttachmentDescription {
--       VkAttachmentDescriptionFlags flags;
--       VkFormat               format;
--       VkSampleCountFlagBits  samples;
--       VkAttachmentLoadOp     loadOp;
--       VkAttachmentStoreOp    storeOp;
--       VkAttachmentLoadOp     stencilLoadOp;
--       VkAttachmentStoreOp    stencilStoreOp;
--       VkImageLayout          initialLayout;
--       VkImageLayout          finalLayout;
--   } VkAttachmentDescription;
--   
-- -- VkAttachmentDescription registry at www.khronos.org type VkAttachmentDescription = VkStruct VkAttachmentDescription' -- | Alias for VkAttachmentDescription2 type VkAttachmentDescription2KHR = VkAttachmentDescription2 -- |
--   typedef struct VkAttachmentDescriptionStencilLayout {
--       VkStructureTypesType;
--       void*    pNext;
--       VkImageLayout                  stencilInitialLayout;
--       VkImageLayout                  stencilFinalLayout;
--   } VkAttachmentDescriptionStencilLayout;
--   
-- -- VkAttachmentDescriptionStencilLayout registry at -- www.khronos.org type VkAttachmentDescriptionStencilLayout = VkStruct VkAttachmentDescriptionStencilLayout' -- | Alias for VkAttachmentDescriptionStencilLayout type VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org type VkAttachmentReference = VkStruct VkAttachmentReference' -- | Alias for VkAttachmentReference2 type VkAttachmentReference2KHR = VkAttachmentReference2 -- |
--   typedef struct VkAttachmentReferenceStencilLayout {
--       VkStructureTypesType;
--       void*    pNext;
--       VkImageLayout                  stencilLayout;
--   } VkAttachmentReferenceStencilLayout;
--   
-- -- VkAttachmentReferenceStencilLayout registry at www.khronos.org type VkAttachmentReferenceStencilLayout = VkStruct VkAttachmentReferenceStencilLayout' -- | Alias for VkAttachmentReferenceStencilLayout type VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout -- |
--   typedef struct VkAttachmentSampleLocationsEXT {
--       uint32_t                         attachmentIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkAttachmentSampleLocationsEXT;
--   
-- -- VkAttachmentSampleLocationsEXT registry at www.khronos.org type VkAttachmentSampleLocationsEXT = VkStruct VkAttachmentSampleLocationsEXT' -- |
--   typedef struct VkClearAttachment {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               colorAttachment;
--       VkClearValue           clearValue;
--   } VkClearAttachment;
--   
-- -- VkClearAttachment registry at www.khronos.org type VkClearAttachment = VkStruct VkClearAttachment' -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. -- --
--   typedef union VkClearColorValue {
--       float                  float32[4];
--       int32_t                int32[4];
--       uint32_t               uint32[4];
--   } VkClearColorValue;
--   
-- -- VkClearColorValue registry at www.khronos.org type VkClearColorValue = VkStruct VkClearColorValue' -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org type VkClearDepthStencilValue = VkStruct VkClearDepthStencilValue' -- |
--   typedef struct VkClearRect {
--       VkRect2D       rect;
--       uint32_t       baseArrayLayer;
--       uint32_t       layerCount;
--   } VkClearRect;
--   
-- -- VkClearRect registry at www.khronos.org type VkClearRect = VkStruct VkClearRect' -- | // Union allowing specification of color or depth and stencil values. -- Actual value selected is based on attachment being cleared. -- --
--   typedef union VkClearValue {
--       VkClearColorValue      color;
--       VkClearDepthStencilValue depthStencil;
--   } VkClearValue;
--   
-- -- VkClearValue registry at www.khronos.org type VkClearValue = VkStruct VkClearValue' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' -- |
--   typedef struct VkRenderPassAttachmentBeginInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       uint32_t                 attachmentCount;
--       const VkImageView* pAttachments;
--   } VkRenderPassAttachmentBeginInfo;
--   
-- -- VkRenderPassAttachmentBeginInfo registry at www.khronos.org type VkRenderPassAttachmentBeginInfo = VkStruct VkRenderPassAttachmentBeginInfo' -- | Alias for VkRenderPassAttachmentBeginInfo type VkRenderPassAttachmentBeginInfoKHR = VkRenderPassAttachmentBeginInfo -- |
--   typedef struct VkRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass           renderPass;
--       VkFramebuffer          framebuffer;
--       VkRect2D               renderArea;
--       uint32_t               clearValueCount;
--       const VkClearValue*    pClearValues;
--   } VkRenderPassBeginInfo;
--   
-- -- VkRenderPassBeginInfo registry at www.khronos.org type VkRenderPassBeginInfo = VkStruct VkRenderPassBeginInfo' -- |
--   typedef struct VkRenderPassCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPassCreateFlags flags;
--       uint32_t   attachmentCount;
--       const VkAttachmentDescription* pAttachments;
--       uint32_t               subpassCount;
--       const VkSubpassDescription* pSubpasses;
--       uint32_t       dependencyCount;
--       const VkSubpassDependency* pDependencies;
--   } VkRenderPassCreateInfo;
--   
-- -- VkRenderPassCreateInfo registry at www.khronos.org type VkRenderPassCreateInfo = VkStruct VkRenderPassCreateInfo' -- | Alias for VkRenderPassCreateInfo2 type VkRenderPassCreateInfo2KHR = VkRenderPassCreateInfo2 -- |
--   typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkAttachmentReference            fragmentDensityMapAttachment;
--   } VkRenderPassFragmentDensityMapCreateInfoEXT;
--   
-- -- VkRenderPassFragmentDensityMapCreateInfoEXT registry at -- www.khronos.org type VkRenderPassFragmentDensityMapCreateInfoEXT = VkStruct VkRenderPassFragmentDensityMapCreateInfoEXT' -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org type VkRenderPassInputAttachmentAspectCreateInfo = VkStruct VkRenderPassInputAttachmentAspectCreateInfo' -- | Alias for VkRenderPassInputAttachmentAspectCreateInfo type VkRenderPassInputAttachmentAspectCreateInfoKHR = VkRenderPassInputAttachmentAspectCreateInfo -- |
--   typedef struct VkRenderPassMultiviewCreateInfo {
--       VkStructureType        sType;
--       const void*            pNext;
--       uint32_t               subpassCount;
--       const uint32_t*     pViewMasks;
--       uint32_t               dependencyCount;
--       const int32_t*   pViewOffsets;
--       uint32_t               correlationMaskCount;
--       const uint32_t* pCorrelationMasks;
--   } VkRenderPassMultiviewCreateInfo;
--   
-- -- VkRenderPassMultiviewCreateInfo registry at www.khronos.org type VkRenderPassMultiviewCreateInfo = VkStruct VkRenderPassMultiviewCreateInfo' -- | Alias for VkRenderPassMultiviewCreateInfo type VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo -- |
--   typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         attachmentInitialSampleLocationsCount;
--       const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
--       uint32_t         postSubpassSampleLocationsCount;
--       const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
--   } VkRenderPassSampleLocationsBeginInfoEXT;
--   
-- -- VkRenderPassSampleLocationsBeginInfoEXT registry at -- www.khronos.org type VkRenderPassSampleLocationsBeginInfoEXT = VkStruct VkRenderPassSampleLocationsBeginInfoEXT' -- |
--   typedef struct VkRenderPassTransformBeginInfoQCOM {
--       VkStructureType sType;
--       void*                           pNext;
--       VkSurfaceTransformFlagBitsKHR   transform;
--   } VkRenderPassTransformBeginInfoQCOM;
--   
-- -- VkRenderPassTransformBeginInfoQCOM registry at www.khronos.org type VkRenderPassTransformBeginInfoQCOM = VkStruct VkRenderPassTransformBeginInfoQCOM' -- | Alias for VkSubpassBeginInfo type VkSubpassBeginInfoKHR = VkSubpassBeginInfo -- |
--   typedef struct VkSubpassDependency {
--       uint32_t               srcSubpass;
--       uint32_t               dstSubpass;
--       VkPipelineStageFlags   srcStageMask;
--       VkPipelineStageFlags   dstStageMask;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkDependencyFlags      dependencyFlags;
--   } VkSubpassDependency;
--   
-- -- VkSubpassDependency registry at www.khronos.org type VkSubpassDependency = VkStruct VkSubpassDependency' -- | Alias for VkSubpassDependency2 type VkSubpassDependency2KHR = VkSubpassDependency2 -- |
--   typedef struct VkSubpassDescription {
--       VkSubpassDescriptionFlags flags;
--       VkPipelineBindPoint    pipelineBindPoint;
--       uint32_t               inputAttachmentCount;
--       const VkAttachmentReference* pInputAttachments;
--       uint32_t               colorAttachmentCount;
--       const VkAttachmentReference* pColorAttachments;
--       const VkAttachmentReference* pResolveAttachments;
--       const VkAttachmentReference* pDepthStencilAttachment;
--       uint32_t               preserveAttachmentCount;
--       const uint32_t* pPreserveAttachments;
--   } VkSubpassDescription;
--   
-- -- VkSubpassDescription registry at www.khronos.org type VkSubpassDescription = VkStruct VkSubpassDescription' -- | Alias for VkSubpassDescription2 type VkSubpassDescription2KHR = VkSubpassDescription2 -- |
--   typedef struct VkSubpassDescriptionDepthStencilResolve {
--       VkStructureType sType;
--       const void*                                              pNext;
--       VkResolveModeFlagBits                                    depthResolveMode;
--       VkResolveModeFlagBits                                    stencilResolveMode;
--       const VkAttachmentReference2*            pDepthStencilResolveAttachment;
--   } VkSubpassDescriptionDepthStencilResolve;
--   
-- -- VkSubpassDescriptionDepthStencilResolve registry at -- www.khronos.org type VkSubpassDescriptionDepthStencilResolve = VkStruct VkSubpassDescriptionDepthStencilResolve' -- | Alias for VkSubpassDescriptionDepthStencilResolve type VkSubpassDescriptionDepthStencilResolveKHR = VkSubpassDescriptionDepthStencilResolve -- | Alias for VkSubpassEndInfo type VkSubpassEndInfoKHR = VkSubpassEndInfo -- |
--   typedef struct VkSubpassSampleLocationsEXT {
--       uint32_t                         subpassIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkSubpassSampleLocationsEXT;
--   
-- -- VkSubpassSampleLocationsEXT registry at www.khronos.org type VkSubpassSampleLocationsEXT = VkStruct VkSubpassSampleLocationsEXT' pattern VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_END_INFO :: VkStructureType -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: VkStructureType -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: VkStructureType pattern VK_MAX_DRIVER_NAME_SIZE :: (Num a, Eq a) => a pattern VK_MAX_DRIVER_INFO_SIZE :: (Num a, Eq a) => a -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: VkStructureType -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: VkStructureType -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: VkStructureType newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org type VkDescriptorSetAllocateInfo = VkStruct VkDescriptorSetAllocateInfo' -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org type VkDescriptorSetLayoutBinding = VkStruct VkDescriptorSetLayoutBinding' -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       uint32_t                                           bindingCount;
--       const VkDescriptorBindingFlags* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfo;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfo registry at -- www.khronos.org type VkDescriptorSetLayoutBindingFlagsCreateInfo = VkStruct VkDescriptorSetLayoutBindingFlagsCreateInfo' -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org type VkDescriptorSetLayoutCreateInfo = VkStruct VkDescriptorSetLayoutCreateInfo' -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org type VkDescriptorSetLayoutSupport = VkStruct VkDescriptorSetLayoutSupport' -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfo;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfo registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountAllocateInfo = VkStruct VkDescriptorSetVariableDescriptorCountAllocateInfo' -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupport;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupport registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountLayoutSupport = VkStruct VkDescriptorSetVariableDescriptorCountLayoutSupport' -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: VkStructureType -- | bitpos = 1 pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT :: VkDescriptorPoolCreateBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT :: VkDescriptorSetLayoutCreateBitmask a pattern VK_ERROR_FRAGMENTATION :: VkResult -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: VkStructureType -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: VkStructureType -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' pattern VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: VkStructureType -- | type = enum -- -- VkBorderColor registry at www.khronos.org newtype VkBorderColor VkBorderColor :: Int32 -> VkBorderColor pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE :: VkBorderColor -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter pattern VK_FILTER_NEAREST :: VkFilter pattern VK_FILTER_LINEAR :: VkFilter -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: VkSamplerAddressMode -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode -- | Linear filter between mip levels pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode -- | type = enum -- -- VkSamplerReductionMode registry at www.khronos.org newtype VkSamplerReductionMode VkSamplerReductionMode :: Int32 -> VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion -- | just range expansion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion -- | aka HD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion -- | aka SD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion -- | aka UHD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion -- | type = enum -- -- VkSamplerYcbcrRange registry at www.khronos.org newtype VkSamplerYcbcrRange VkSamplerYcbcrRange :: Int32 -> VkSamplerYcbcrRange -- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped) pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange newtype VkSamplerCreateBitmask (a :: FlagType) VkSamplerCreateBitmask :: VkFlags -> VkSamplerCreateBitmask (a :: FlagType) pattern VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateBitmask FlagBit pattern VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateBitmask FlagMask type VkSamplerCreateFlagBits = VkSamplerCreateBitmask FlagBit type VkSamplerCreateFlags = VkSamplerCreateBitmask FlagMask newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: VkFlags -> VkSamplerReductionModeEXT newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR -- |
--   typedef struct VkSamplerCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerCreateFlags   flags;
--       VkFilter               magFilter;
--       VkFilter               minFilter;
--       VkSamplerMipmapMode    mipmapMode;
--       VkSamplerAddressMode   addressModeU;
--       VkSamplerAddressMode   addressModeV;
--       VkSamplerAddressMode   addressModeW;
--       float                  mipLodBias;
--       VkBool32               anisotropyEnable;
--       float                  maxAnisotropy;
--       VkBool32               compareEnable;
--       VkCompareOp            compareOp;
--       float                  minLod;
--       float                  maxLod;
--       VkBorderColor          borderColor;
--       VkBool32               unnormalizedCoordinates;
--   } VkSamplerCreateInfo;
--   
-- -- VkSamplerCreateInfo registry at www.khronos.org type VkSamplerCreateInfo = VkStruct VkSamplerCreateInfo' -- |
--   typedef struct VkSamplerReductionModeCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerReductionMode           reductionMode;
--   } VkSamplerReductionModeCreateInfo;
--   
-- -- VkSamplerReductionModeCreateInfo registry at www.khronos.org type VkSamplerReductionModeCreateInfo = VkStruct VkSamplerReductionModeCreateInfo' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: VkStructureType -- | Format can be used with min/max reduction filtering -- -- bitpos = 16 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT :: VkFormatFeatureBitmask a -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: VkStructureType -- |
--   typedef struct VkFramebufferAttachmentImageInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       VkImageCreateFlags       flags;
--       VkImageUsageFlags                        usage;
--       uint32_t                                 width;
--       uint32_t                                 height;
--       uint32_t                                 layerCount;
--       uint32_t                 viewFormatCount;
--       const VkFormat*    pViewFormats;
--   } VkFramebufferAttachmentImageInfo;
--   
-- -- VkFramebufferAttachmentImageInfo registry at www.khronos.org type VkFramebufferAttachmentImageInfo = VkStruct VkFramebufferAttachmentImageInfo' -- |
--   typedef struct VkFramebufferAttachmentsCreateInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       uint32_t                 attachmentImageInfoCount;
--       const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
--   } VkFramebufferAttachmentsCreateInfo;
--   
-- -- VkFramebufferAttachmentsCreateInfo registry at www.khronos.org type VkFramebufferAttachmentsCreateInfo = VkStruct VkFramebufferAttachmentsCreateInfo' newtype VkFramebufferCreateBitmask (a :: FlagType) VkFramebufferCreateBitmask :: VkFlags -> VkFramebufferCreateBitmask (a :: FlagType) pattern VkFramebufferCreateFlagBits :: VkFlags -> VkFramebufferCreateBitmask FlagBit pattern VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateBitmask FlagMask type VkFramebufferCreateFlagBits = VkFramebufferCreateBitmask FlagBit type VkFramebufferCreateFlags = VkFramebufferCreateBitmask FlagMask -- |
--   typedef struct VkFramebufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFramebufferCreateFlags    flags;
--       VkRenderPass           renderPass;
--       uint32_t               attachmentCount;
--       const VkImageView*     pAttachments;
--       uint32_t               width;
--       uint32_t               height;
--       uint32_t               layers;
--   } VkFramebufferCreateInfo;
--   
-- -- VkFramebufferCreateInfo registry at www.khronos.org type VkFramebufferCreateInfo = VkStruct VkFramebufferCreateInfo' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: VkStructureType -- | bitpos = 0 pattern VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT :: VkFramebufferCreateBitmask a -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: VkStructureType -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: VkStructureType -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: VkStructureType pattern VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: VkStructureType pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL :: VkImageLayout pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL :: VkImageLayout pattern VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout pattern VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' type VkResetQueryPool = "vkResetQueryPool" pattern VkResetQueryPool :: CString -- |
--   void vkResetQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkResetQueryPool registry at www.khronos.org type HS_vkResetQueryPool = VkDevice " device" -> VkQueryPool " queryPool" -> Word32 " firstQuery" -> Word32 " queryCount" -> IO () type PFN_vkResetQueryPool = FunPtr HS_vkResetQueryPool -- |
--   void vkResetQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkResetQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetQueryPool <- vkGetDeviceProc @VkResetQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetQueryPool <- vkGetProc @VkResetQueryPool
--   
-- -- Note: vkResetQueryPoolUnsafe and -- vkResetQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetQueryPool is an alias of -- vkResetQueryPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkResetQueryPoolSafe. vkResetQueryPool :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> IO () -- |
--   void vkResetQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkResetQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetQueryPool <- vkGetDeviceProc @VkResetQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetQueryPool <- vkGetProc @VkResetQueryPool
--   
-- -- Note: vkResetQueryPoolUnsafe and -- vkResetQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetQueryPool is an alias of -- vkResetQueryPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkResetQueryPoolSafe. vkResetQueryPoolUnsafe :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> IO () -- |
--   void vkResetQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkResetQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetQueryPool <- vkGetDeviceProc @VkResetQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetQueryPool <- vkGetProc @VkResetQueryPool
--   
-- -- Note: vkResetQueryPoolUnsafe and -- vkResetQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetQueryPool is an alias of -- vkResetQueryPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkResetQueryPoolSafe. vkResetQueryPoolSafe :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> IO () pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: VkStructureType -- |
--   typedef struct VkBindSparseInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       uint32_t               bufferBindCount;
--       const VkSparseBufferMemoryBindInfo* pBufferBinds;
--       uint32_t               imageOpaqueBindCount;
--       const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
--       uint32_t               imageBindCount;
--       const VkSparseImageMemoryBindInfo* pImageBinds;
--       uint32_t               signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkBindSparseInfo;
--   
-- -- VkBindSparseInfo registry at www.khronos.org type VkBindSparseInfo = VkStruct VkBindSparseInfo' newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org type VkSemaphoreCreateInfo = VkStruct VkSemaphoreCreateInfo' -- |
--   typedef struct VkSemaphoreSignalInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphore            semaphore;
--       uint64_t               value;
--   } VkSemaphoreSignalInfo;
--   
-- -- VkSemaphoreSignalInfo registry at www.khronos.org type VkSemaphoreSignalInfo = VkStruct VkSemaphoreSignalInfo' newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask (a :: FlagType) pattern VkSemaphoreImportFlagBits :: VkFlags -> VkSemaphoreImportBitmask FlagBit pattern VkSemaphoreImportFlags :: VkFlags -> VkSemaphoreImportBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT :: VkSemaphoreImportBitmask a -- | type = enum -- -- VkSemaphoreType registry at www.khronos.org newtype VkSemaphoreType VkSemaphoreType :: Int32 -> VkSemaphoreType pattern VK_SEMAPHORE_TYPE_BINARY :: VkSemaphoreType pattern VK_SEMAPHORE_TYPE_TIMELINE :: VkSemaphoreType newtype VkSemaphoreWaitBitmask (a :: FlagType) VkSemaphoreWaitBitmask :: VkFlags -> VkSemaphoreWaitBitmask (a :: FlagType) pattern VkSemaphoreWaitFlagBits :: VkFlags -> VkSemaphoreWaitBitmask FlagBit pattern VkSemaphoreWaitFlags :: VkFlags -> VkSemaphoreWaitBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_WAIT_ANY_BIT :: VkSemaphoreWaitBitmask a type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask newtype VkSemaphoreTypeKHR VkSemaphoreTypeKHR :: VkFlags -> VkSemaphoreTypeKHR type VkSemaphoreWaitFlagBits = VkSemaphoreWaitBitmask FlagBit newtype VkSemaphoreWaitFlagBitsKHR VkSemaphoreWaitFlagBitsKHR :: VkFlags -> VkSemaphoreWaitFlagBitsKHR type VkSemaphoreWaitFlags = VkSemaphoreWaitBitmask FlagMask -- |
--   typedef struct VkSemaphoreTypeCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreType        semaphoreType;
--       uint64_t               initialValue;
--   } VkSemaphoreTypeCreateInfo;
--   
-- -- VkSemaphoreTypeCreateInfo registry at www.khronos.org type VkSemaphoreTypeCreateInfo = VkStruct VkSemaphoreTypeCreateInfo' -- |
--   typedef struct VkSemaphoreWaitInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreWaitFlags flags;
--       uint32_t               semaphoreCount;
--       const VkSemaphore* pSemaphores;
--       const uint64_t*    pValues;
--   } VkSemaphoreWaitInfo;
--   
-- -- VkSemaphoreWaitInfo registry at www.khronos.org type VkSemaphoreWaitInfo = VkStruct VkSemaphoreWaitInfo' -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org type VkSparseBufferMemoryBindInfo = VkStruct VkSparseBufferMemoryBindInfo' -- |
--   typedef struct VkSparseImageMemoryBind {
--       VkImageSubresource     subresource;
--       VkOffset3D             offset;
--       VkExtent3D             extent;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseImageMemoryBind;
--   
-- -- VkSparseImageMemoryBind registry at www.khronos.org type VkSparseImageMemoryBind = VkStruct VkSparseImageMemoryBind' -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org type VkSparseImageMemoryBindInfo = VkStruct VkSparseImageMemoryBindInfo' -- |
--   typedef struct VkSparseImageOpaqueMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseImageOpaqueMemoryBindInfo;
--   
-- -- VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org type VkSparseImageOpaqueMemoryBindInfo = VkStruct VkSparseImageOpaqueMemoryBindInfo' -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org type VkSparseMemoryBind = VkStruct VkSparseMemoryBind' newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask (a :: FlagType) pattern VkSparseImageFormatFlagBits :: VkFlags -> VkSparseImageFormatBitmask FlagBit pattern VkSparseImageFormatFlags :: VkFlags -> VkSparseImageFormatBitmask FlagMask -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: VkSparseImageFormatBitmask a -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: VkSparseImageFormatBitmask a -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: VkSparseImageFormatBitmask a newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask (a :: FlagType) pattern VkSparseMemoryBindFlagBits :: VkFlags -> VkSparseMemoryBindBitmask FlagBit pattern VkSparseMemoryBindFlags :: VkFlags -> VkSparseMemoryBindBitmask FlagMask -- | Operation binds resource metadata to memory -- -- bitpos = 0 pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT :: VkSparseMemoryBindBitmask a type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask -- |
--   typedef struct VkSubmitInfo {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t       waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       const VkPipelineStageFlags*           pWaitDstStageMask;
--       uint32_t       commandBufferCount;
--       const VkCommandBuffer*     pCommandBuffers;
--       uint32_t       signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkSubmitInfo;
--   
-- -- VkSubmitInfo registry at www.khronos.org type VkSubmitInfo = VkStruct VkSubmitInfo' -- |
--   typedef struct VkTimelineSemaphoreSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreValueCount;
--       const uint64_t* pWaitSemaphoreValues;
--       uint32_t         signalSemaphoreValueCount;
--       const uint64_t* pSignalSemaphoreValues;
--   } VkTimelineSemaphoreSubmitInfo;
--   
-- -- VkTimelineSemaphoreSubmitInfo registry at www.khronos.org type VkTimelineSemaphoreSubmitInfo = VkStruct VkTimelineSemaphoreSubmitInfo' type VkGetSemaphoreCounterValue = "vkGetSemaphoreCounterValue" pattern VkGetSemaphoreCounterValue :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetSemaphoreCounterValue
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , uint64_t* pValue
--       )
--   
-- -- vkGetSemaphoreCounterValue registry at www.khronos.org type HS_vkGetSemaphoreCounterValue = VkDevice " device" -> VkSemaphore " semaphore" -> Ptr Word64 " pValue" -> IO VkResult type PFN_vkGetSemaphoreCounterValue = FunPtr HS_vkGetSemaphoreCounterValue -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetSemaphoreCounterValue
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , uint64_t* pValue
--       )
--   
-- -- vkGetSemaphoreCounterValue registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetSemaphoreCounterValue <- vkGetDeviceProc @VkGetSemaphoreCounterValue vkDevice
--   
-- -- or less efficient: -- --
--   myGetSemaphoreCounterValue <- vkGetProc @VkGetSemaphoreCounterValue
--   
-- -- Note: vkGetSemaphoreCounterValueUnsafe and -- vkGetSemaphoreCounterValueSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetSemaphoreCounterValue is an alias of -- vkGetSemaphoreCounterValueUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetSemaphoreCounterValueSafe. vkGetSemaphoreCounterValue :: VkDevice -> VkSemaphore -> Ptr Word64 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetSemaphoreCounterValue
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , uint64_t* pValue
--       )
--   
-- -- vkGetSemaphoreCounterValue registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetSemaphoreCounterValue <- vkGetDeviceProc @VkGetSemaphoreCounterValue vkDevice
--   
-- -- or less efficient: -- --
--   myGetSemaphoreCounterValue <- vkGetProc @VkGetSemaphoreCounterValue
--   
-- -- Note: vkGetSemaphoreCounterValueUnsafe and -- vkGetSemaphoreCounterValueSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetSemaphoreCounterValue is an alias of -- vkGetSemaphoreCounterValueUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetSemaphoreCounterValueSafe. vkGetSemaphoreCounterValueUnsafe :: VkDevice -> VkSemaphore -> Ptr Word64 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetSemaphoreCounterValue
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , uint64_t* pValue
--       )
--   
-- -- vkGetSemaphoreCounterValue registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetSemaphoreCounterValue <- vkGetDeviceProc @VkGetSemaphoreCounterValue vkDevice
--   
-- -- or less efficient: -- --
--   myGetSemaphoreCounterValue <- vkGetProc @VkGetSemaphoreCounterValue
--   
-- -- Note: vkGetSemaphoreCounterValueUnsafe and -- vkGetSemaphoreCounterValueSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetSemaphoreCounterValue is an alias of -- vkGetSemaphoreCounterValueUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetSemaphoreCounterValueSafe. vkGetSemaphoreCounterValueSafe :: VkDevice -> VkSemaphore -> Ptr Word64 -> IO VkResult type VkWaitSemaphores = "vkWaitSemaphores" pattern VkWaitSemaphores :: CString -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitSemaphores
--       ( VkDevice device
--       , const VkSemaphoreWaitInfo* pWaitInfo
--       , uint64_t timeout
--       )
--   
-- -- vkWaitSemaphores registry at www.khronos.org type HS_vkWaitSemaphores = VkDevice " device" -> Ptr VkSemaphoreWaitInfo " pWaitInfo" -> Word64 " timeout" -> IO VkResult type PFN_vkWaitSemaphores = FunPtr HS_vkWaitSemaphores -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitSemaphores
--       ( VkDevice device
--       , const VkSemaphoreWaitInfo* pWaitInfo
--       , uint64_t timeout
--       )
--   
-- -- vkWaitSemaphores registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myWaitSemaphores <- vkGetDeviceProc @VkWaitSemaphores vkDevice
--   
-- -- or less efficient: -- --
--   myWaitSemaphores <- vkGetProc @VkWaitSemaphores
--   
-- -- Note: vkWaitSemaphoresUnsafe and -- vkWaitSemaphoresSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkWaitSemaphores is an alias of -- vkWaitSemaphoresUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkWaitSemaphoresSafe. vkWaitSemaphores :: VkDevice -> Ptr VkSemaphoreWaitInfo -> Word64 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitSemaphores
--       ( VkDevice device
--       , const VkSemaphoreWaitInfo* pWaitInfo
--       , uint64_t timeout
--       )
--   
-- -- vkWaitSemaphores registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myWaitSemaphores <- vkGetDeviceProc @VkWaitSemaphores vkDevice
--   
-- -- or less efficient: -- --
--   myWaitSemaphores <- vkGetProc @VkWaitSemaphores
--   
-- -- Note: vkWaitSemaphoresUnsafe and -- vkWaitSemaphoresSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkWaitSemaphores is an alias of -- vkWaitSemaphoresUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkWaitSemaphoresSafe. vkWaitSemaphoresUnsafe :: VkDevice -> Ptr VkSemaphoreWaitInfo -> Word64 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitSemaphores
--       ( VkDevice device
--       , const VkSemaphoreWaitInfo* pWaitInfo
--       , uint64_t timeout
--       )
--   
-- -- vkWaitSemaphores registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myWaitSemaphores <- vkGetDeviceProc @VkWaitSemaphores vkDevice
--   
-- -- or less efficient: -- --
--   myWaitSemaphores <- vkGetProc @VkWaitSemaphores
--   
-- -- Note: vkWaitSemaphoresUnsafe and -- vkWaitSemaphoresSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkWaitSemaphores is an alias of -- vkWaitSemaphoresUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkWaitSemaphoresSafe. vkWaitSemaphoresSafe :: VkDevice -> Ptr VkSemaphoreWaitInfo -> Word64 -> IO VkResult type VkSignalSemaphore = "vkSignalSemaphore" pattern VkSignalSemaphore :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSignalSemaphore
--       ( VkDevice device
--       , const VkSemaphoreSignalInfo* pSignalInfo
--       )
--   
-- -- vkSignalSemaphore registry at www.khronos.org type HS_vkSignalSemaphore = VkDevice " device" -> Ptr VkSemaphoreSignalInfo " pSignalInfo" -> IO VkResult type PFN_vkSignalSemaphore = FunPtr HS_vkSignalSemaphore -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSignalSemaphore
--       ( VkDevice device
--       , const VkSemaphoreSignalInfo* pSignalInfo
--       )
--   
-- -- vkSignalSemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   mySignalSemaphore <- vkGetDeviceProc @VkSignalSemaphore vkDevice
--   
-- -- or less efficient: -- --
--   mySignalSemaphore <- vkGetProc @VkSignalSemaphore
--   
-- -- Note: vkSignalSemaphoreUnsafe and -- vkSignalSemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkSignalSemaphore is an alias of -- vkSignalSemaphoreUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkSignalSemaphoreSafe. vkSignalSemaphore :: VkDevice -> Ptr VkSemaphoreSignalInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSignalSemaphore
--       ( VkDevice device
--       , const VkSemaphoreSignalInfo* pSignalInfo
--       )
--   
-- -- vkSignalSemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   mySignalSemaphore <- vkGetDeviceProc @VkSignalSemaphore vkDevice
--   
-- -- or less efficient: -- --
--   mySignalSemaphore <- vkGetProc @VkSignalSemaphore
--   
-- -- Note: vkSignalSemaphoreUnsafe and -- vkSignalSemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkSignalSemaphore is an alias of -- vkSignalSemaphoreUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkSignalSemaphoreSafe. vkSignalSemaphoreUnsafe :: VkDevice -> Ptr VkSemaphoreSignalInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSignalSemaphore
--       ( VkDevice device
--       , const VkSemaphoreSignalInfo* pSignalInfo
--       )
--   
-- -- vkSignalSemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   mySignalSemaphore <- vkGetDeviceProc @VkSignalSemaphore vkDevice
--   
-- -- or less efficient: -- --
--   mySignalSemaphore <- vkGetProc @VkSignalSemaphore
--   
-- -- Note: vkSignalSemaphoreUnsafe and -- vkSignalSemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkSignalSemaphore is an alias of -- vkSignalSemaphoreUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkSignalSemaphoreSafe. vkSignalSemaphoreSafe :: VkDevice -> Ptr VkSemaphoreSignalInfo -> IO VkResult -- |
--   typedef struct VkSemaphoreGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore                      semaphore;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkSemaphoreGetFdInfoKHR;
--   
-- -- VkSemaphoreGetFdInfoKHR registry at www.khronos.org type VkSemaphoreGetFdInfoKHR = VkStruct VkSemaphoreGetFdInfoKHR' -- | Alias for VkSemaphoreSignalInfo type VkSemaphoreSignalInfoKHR = VkSemaphoreSignalInfo -- | Alias for VkSemaphoreTypeCreateInfo type VkSemaphoreTypeCreateInfoKHR = VkSemaphoreTypeCreateInfo -- | Alias for VkSemaphoreWaitInfo type VkSemaphoreWaitInfoKHR = VkSemaphoreWaitInfo pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: VkStructureType newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask (a :: FlagType) pattern VkBufferCreateFlagBits :: VkFlags -> VkBufferCreateBitmask FlagBit pattern VkBufferCreateFlags :: VkFlags -> VkBufferCreateBitmask FlagMask -- | Buffer should support sparse backing -- -- bitpos = 0 pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT :: VkBufferCreateBitmask a -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: VkBufferCreateBitmask a -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT :: VkBufferCreateBitmask a newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask (a :: FlagType) pattern VkBufferUsageFlagBits :: VkFlags -> VkBufferUsageBitmask FlagBit pattern VkBufferUsageFlags :: VkFlags -> VkBufferUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a -- | Can be used as TBO -- -- bitpos = 2 pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as IBO -- -- bitpos = 3 pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as UBO -- -- bitpos = 4 pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as SSBO -- -- bitpos = 5 pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT :: VkBufferUsageBitmask a type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask -- |
--   typedef struct VkBufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferCreateFlags    flags;
--       VkDeviceSize           size;
--       VkBufferUsageFlags     usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--   } VkBufferCreateInfo;
--   
-- -- VkBufferCreateInfo registry at www.khronos.org type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- |
--   typedef struct VkBufferDeviceAddressInfo {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkBuffer                                               buffer;
--   } VkBufferDeviceAddressInfo;
--   
-- -- VkBufferDeviceAddressInfo registry at www.khronos.org type VkBufferDeviceAddressInfo = VkStruct VkBufferDeviceAddressInfo' -- |
--   typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint64_t                         opaqueCaptureAddress;
--   } VkBufferOpaqueCaptureAddressCreateInfo;
--   
-- -- VkBufferOpaqueCaptureAddressCreateInfo registry at -- www.khronos.org type VkBufferOpaqueCaptureAddressCreateInfo = VkStruct VkBufferOpaqueCaptureAddressCreateInfo' -- |
--   typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--   } VkDeviceMemoryOpaqueCaptureAddressInfo;
--   
-- -- VkDeviceMemoryOpaqueCaptureAddressInfo registry at -- www.khronos.org type VkDeviceMemoryOpaqueCaptureAddressInfo = VkStruct VkDeviceMemoryOpaqueCaptureAddressInfo' -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' type VkGetBufferDeviceAddress = "vkGetBufferDeviceAddress" pattern VkGetBufferDeviceAddress :: CString -- |
--   VkDeviceAddress vkGetBufferDeviceAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferDeviceAddress registry at www.khronos.org type HS_vkGetBufferDeviceAddress = VkDevice " device" -> Ptr VkBufferDeviceAddressInfo " pInfo" -> IO VkDeviceAddress type PFN_vkGetBufferDeviceAddress = FunPtr HS_vkGetBufferDeviceAddress -- |
--   VkDeviceAddress vkGetBufferDeviceAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferDeviceAddress registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferDeviceAddress <- vkGetDeviceProc @VkGetBufferDeviceAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferDeviceAddress <- vkGetProc @VkGetBufferDeviceAddress
--   
-- -- Note: vkGetBufferDeviceAddressUnsafe and -- vkGetBufferDeviceAddressSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetBufferDeviceAddress is an alias of -- vkGetBufferDeviceAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferDeviceAddressSafe. vkGetBufferDeviceAddress :: VkDevice -> Ptr VkBufferDeviceAddressInfo -> IO VkDeviceAddress -- |
--   VkDeviceAddress vkGetBufferDeviceAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferDeviceAddress registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferDeviceAddress <- vkGetDeviceProc @VkGetBufferDeviceAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferDeviceAddress <- vkGetProc @VkGetBufferDeviceAddress
--   
-- -- Note: vkGetBufferDeviceAddressUnsafe and -- vkGetBufferDeviceAddressSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetBufferDeviceAddress is an alias of -- vkGetBufferDeviceAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferDeviceAddressSafe. vkGetBufferDeviceAddressUnsafe :: VkDevice -> Ptr VkBufferDeviceAddressInfo -> IO VkDeviceAddress -- |
--   VkDeviceAddress vkGetBufferDeviceAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferDeviceAddress registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferDeviceAddress <- vkGetDeviceProc @VkGetBufferDeviceAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferDeviceAddress <- vkGetProc @VkGetBufferDeviceAddress
--   
-- -- Note: vkGetBufferDeviceAddressUnsafe and -- vkGetBufferDeviceAddressSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetBufferDeviceAddress is an alias of -- vkGetBufferDeviceAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferDeviceAddressSafe. vkGetBufferDeviceAddressSafe :: VkDevice -> Ptr VkBufferDeviceAddressInfo -> IO VkDeviceAddress type VkGetBufferOpaqueCaptureAddress = "vkGetBufferOpaqueCaptureAddress" pattern VkGetBufferOpaqueCaptureAddress :: CString -- |
--   uint64_t vkGetBufferOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferOpaqueCaptureAddress registry at www.khronos.org type HS_vkGetBufferOpaqueCaptureAddress = VkDevice " device" -> Ptr VkBufferDeviceAddressInfo " pInfo" -> IO Word64 type PFN_vkGetBufferOpaqueCaptureAddress = FunPtr HS_vkGetBufferOpaqueCaptureAddress -- |
--   uint64_t vkGetBufferOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferOpaqueCaptureAddress registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferOpaqueCaptureAddress <- vkGetDeviceProc @VkGetBufferOpaqueCaptureAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferOpaqueCaptureAddress <- vkGetProc @VkGetBufferOpaqueCaptureAddress
--   
-- -- Note: vkGetBufferOpaqueCaptureAddressUnsafe and -- vkGetBufferOpaqueCaptureAddressSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetBufferOpaqueCaptureAddress is an alias of -- vkGetBufferOpaqueCaptureAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferOpaqueCaptureAddressSafe. vkGetBufferOpaqueCaptureAddress :: VkDevice -> Ptr VkBufferDeviceAddressInfo -> IO Word64 -- |
--   uint64_t vkGetBufferOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferOpaqueCaptureAddress registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferOpaqueCaptureAddress <- vkGetDeviceProc @VkGetBufferOpaqueCaptureAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferOpaqueCaptureAddress <- vkGetProc @VkGetBufferOpaqueCaptureAddress
--   
-- -- Note: vkGetBufferOpaqueCaptureAddressUnsafe and -- vkGetBufferOpaqueCaptureAddressSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetBufferOpaqueCaptureAddress is an alias of -- vkGetBufferOpaqueCaptureAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferOpaqueCaptureAddressSafe. vkGetBufferOpaqueCaptureAddressUnsafe :: VkDevice -> Ptr VkBufferDeviceAddressInfo -> IO Word64 -- |
--   uint64_t vkGetBufferOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferOpaqueCaptureAddress registry at www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferOpaqueCaptureAddress <- vkGetDeviceProc @VkGetBufferOpaqueCaptureAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferOpaqueCaptureAddress <- vkGetProc @VkGetBufferOpaqueCaptureAddress
--   
-- -- Note: vkGetBufferOpaqueCaptureAddressUnsafe and -- vkGetBufferOpaqueCaptureAddressSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetBufferOpaqueCaptureAddress is an alias of -- vkGetBufferOpaqueCaptureAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferOpaqueCaptureAddressSafe. vkGetBufferOpaqueCaptureAddressSafe :: VkDevice -> Ptr VkBufferDeviceAddressInfo -> IO Word64 type VkGetDeviceMemoryOpaqueCaptureAddress = "vkGetDeviceMemoryOpaqueCaptureAddress" pattern VkGetDeviceMemoryOpaqueCaptureAddress :: CString -- |
--   uint64_t vkGetDeviceMemoryOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo
--       )
--   
-- -- vkGetDeviceMemoryOpaqueCaptureAddress registry at -- www.khronos.org type HS_vkGetDeviceMemoryOpaqueCaptureAddress = VkDevice " device" -> Ptr VkDeviceMemoryOpaqueCaptureAddressInfo " pInfo" -> IO Word64 type PFN_vkGetDeviceMemoryOpaqueCaptureAddress = FunPtr HS_vkGetDeviceMemoryOpaqueCaptureAddress -- |
--   uint64_t vkGetDeviceMemoryOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo
--       )
--   
-- -- vkGetDeviceMemoryOpaqueCaptureAddress registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceMemoryOpaqueCaptureAddress <- vkGetDeviceProc @VkGetDeviceMemoryOpaqueCaptureAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceMemoryOpaqueCaptureAddress <- vkGetProc @VkGetDeviceMemoryOpaqueCaptureAddress
--   
-- -- Note: vkGetDeviceMemoryOpaqueCaptureAddressUnsafe and -- vkGetDeviceMemoryOpaqueCaptureAddressSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceMemoryOpaqueCaptureAddress is an -- alias of vkGetDeviceMemoryOpaqueCaptureAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceMemoryOpaqueCaptureAddressSafe. vkGetDeviceMemoryOpaqueCaptureAddress :: VkDevice -> Ptr VkDeviceMemoryOpaqueCaptureAddressInfo -> IO Word64 -- |
--   uint64_t vkGetDeviceMemoryOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo
--       )
--   
-- -- vkGetDeviceMemoryOpaqueCaptureAddress registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceMemoryOpaqueCaptureAddress <- vkGetDeviceProc @VkGetDeviceMemoryOpaqueCaptureAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceMemoryOpaqueCaptureAddress <- vkGetProc @VkGetDeviceMemoryOpaqueCaptureAddress
--   
-- -- Note: vkGetDeviceMemoryOpaqueCaptureAddressUnsafe and -- vkGetDeviceMemoryOpaqueCaptureAddressSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceMemoryOpaqueCaptureAddress is an -- alias of vkGetDeviceMemoryOpaqueCaptureAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceMemoryOpaqueCaptureAddressSafe. vkGetDeviceMemoryOpaqueCaptureAddressUnsafe :: VkDevice -> Ptr VkDeviceMemoryOpaqueCaptureAddressInfo -> IO Word64 -- |
--   uint64_t vkGetDeviceMemoryOpaqueCaptureAddress
--       ( VkDevice device
--       , const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo
--       )
--   
-- -- vkGetDeviceMemoryOpaqueCaptureAddress registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-2 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceMemoryOpaqueCaptureAddress <- vkGetDeviceProc @VkGetDeviceMemoryOpaqueCaptureAddress vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceMemoryOpaqueCaptureAddress <- vkGetProc @VkGetDeviceMemoryOpaqueCaptureAddress
--   
-- -- Note: vkGetDeviceMemoryOpaqueCaptureAddressUnsafe and -- vkGetDeviceMemoryOpaqueCaptureAddressSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceMemoryOpaqueCaptureAddress is an -- alias of vkGetDeviceMemoryOpaqueCaptureAddressUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceMemoryOpaqueCaptureAddressSafe. vkGetDeviceMemoryOpaqueCaptureAddressSafe :: VkDevice -> Ptr VkDeviceMemoryOpaqueCaptureAddressInfo -> IO Word64 -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize                       srcOffset;
--       VkDeviceSize                       dstOffset;
--       VkDeviceSize size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org type VkBufferCopy = VkStruct VkBufferCopy' -- |
--   typedef struct VkBufferDeviceAddressCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceAddress                  deviceAddress;
--   } VkBufferDeviceAddressCreateInfoEXT;
--   
-- -- VkBufferDeviceAddressCreateInfoEXT registry at www.khronos.org type VkBufferDeviceAddressCreateInfoEXT = VkStruct VkBufferDeviceAddressCreateInfoEXT' -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org type VkBufferImageCopy = VkStruct VkBufferImageCopy' -- |
--   typedef struct VkBufferMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkBufferMemoryBarrier;
--   
-- -- VkBufferMemoryBarrier registry at www.khronos.org type VkBufferMemoryBarrier = VkStruct VkBufferMemoryBarrier' -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org type VkBufferMemoryRequirementsInfo2 = VkStruct VkBufferMemoryRequirementsInfo2' -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- | Alias for VkBufferOpaqueCaptureAddressCreateInfo type VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org type VkBufferViewCreateInfo = VkStruct VkBufferViewCreateInfo' -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org type VkDeviceGroupBindSparseInfo = VkStruct VkDeviceGroupBindSparseInfo' -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- |
--   typedef struct VkDeviceGroupCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--   } VkDeviceGroupCommandBufferBeginInfo;
--   
-- -- VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org type VkDeviceGroupCommandBufferBeginInfo = VkStruct VkDeviceGroupCommandBufferBeginInfo' -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- |
--   typedef struct VkDeviceGroupDeviceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         physicalDeviceCount;
--       const VkPhysicalDevice*  pPhysicalDevices;
--   } VkDeviceGroupDeviceCreateInfo;
--   
-- -- VkDeviceGroupDeviceCreateInfo registry at www.khronos.org type VkDeviceGroupDeviceCreateInfo = VkStruct VkDeviceGroupDeviceCreateInfo' -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' -- |
--   typedef struct VkDeviceGroupRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--       uint32_t         deviceRenderAreaCount;
--       const VkRect2D*  pDeviceRenderAreas;
--   } VkDeviceGroupRenderPassBeginInfo;
--   
-- -- VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org type VkDeviceGroupRenderPassBeginInfo = VkStruct VkDeviceGroupRenderPassBeginInfo' -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- |
--   typedef struct VkDeviceGroupSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreCount;
--       const uint32_t*    pWaitSemaphoreDeviceIndices;
--       uint32_t         commandBufferCount;
--       const uint32_t*    pCommandBufferDeviceMasks;
--       uint32_t         signalSemaphoreCount;
--       const uint32_t*  pSignalSemaphoreDeviceIndices;
--   } VkDeviceGroupSubmitInfo;
--   
-- -- VkDeviceGroupSubmitInfo registry at www.khronos.org type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- | Alias for VkDeviceMemoryOpaqueCaptureAddressInfo type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: VkStructureType -- | bitpos = 17 pattern VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT :: VkBufferUsageBitmask a -- | bitpos = 4 pattern VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: VkBufferCreateBitmask a -- | bitpos = 1 pattern VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT :: VkMemoryAllocateBitmask a -- | bitpos = 2 pattern VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT :: VkMemoryAllocateBitmask a pattern VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS :: VkResult instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceMemoryOpaqueCaptureAddress" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferOpaqueCaptureAddress" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferDeviceAddress" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSignalSemaphore" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkWaitSemaphores" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSemaphoreCounterValue" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetQueryPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndRenderPass2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdNextSubpass2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginRenderPass2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateRenderPass2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexedIndirectCount" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirectCount" module Graphics.Vulkan.Ext.VK_KHR_vulkan_memory_model -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures type VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION = 3 pattern VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME = "VK_KHR_vulkan_memory_model" pattern VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_uniform_buffer_standard_layout -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 pattern VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME = "VK_KHR_uniform_buffer_standard_layout" pattern VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_timeline_semaphore -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- | Alias for VkSemaphoreSignalInfo type VkSemaphoreSignalInfoKHR = VkSemaphoreSignalInfo -- | Alias for VkSemaphoreTypeCreateInfo type VkSemaphoreTypeCreateInfoKHR = VkSemaphoreTypeCreateInfo newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask (a :: FlagType) pattern VkSemaphoreImportFlagBits :: VkFlags -> VkSemaphoreImportBitmask FlagBit pattern VkSemaphoreImportFlags :: VkFlags -> VkSemaphoreImportBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT :: VkSemaphoreImportBitmask a -- | type = enum -- -- VkSemaphoreType registry at www.khronos.org newtype VkSemaphoreType VkSemaphoreType :: Int32 -> VkSemaphoreType pattern VK_SEMAPHORE_TYPE_BINARY :: VkSemaphoreType pattern VK_SEMAPHORE_TYPE_TIMELINE :: VkSemaphoreType newtype VkSemaphoreWaitBitmask (a :: FlagType) VkSemaphoreWaitBitmask :: VkFlags -> VkSemaphoreWaitBitmask (a :: FlagType) pattern VkSemaphoreWaitFlagBits :: VkFlags -> VkSemaphoreWaitBitmask FlagBit pattern VkSemaphoreWaitFlags :: VkFlags -> VkSemaphoreWaitBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_WAIT_ANY_BIT :: VkSemaphoreWaitBitmask a type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask newtype VkSemaphoreTypeKHR VkSemaphoreTypeKHR :: VkFlags -> VkSemaphoreTypeKHR type VkSemaphoreWaitFlagBits = VkSemaphoreWaitBitmask FlagBit newtype VkSemaphoreWaitFlagBitsKHR VkSemaphoreWaitFlagBitsKHR :: VkFlags -> VkSemaphoreWaitFlagBitsKHR type VkSemaphoreWaitFlags = VkSemaphoreWaitBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Alias for VkSemaphoreWaitInfo type VkSemaphoreWaitInfoKHR = VkSemaphoreWaitInfo -- | Alias for VkTimelineSemaphoreSubmitInfo type VkTimelineSemaphoreSubmitInfoKHR = VkTimelineSemaphoreSubmitInfo type VkGetSemaphoreCounterValueKHR = "vkGetSemaphoreCounterValueKHR" pattern VkGetSemaphoreCounterValueKHR :: CString -- | This is an alias for vkGetSemaphoreCounterValue. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetSemaphoreCounterValueKHR
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , uint64_t* pValue
--       )
--   
-- -- vkGetSemaphoreCounterValueKHR registry at www.khronos.org type HS_vkGetSemaphoreCounterValueKHR = VkDevice " device" -> VkSemaphore " semaphore" -> Ptr Word64 " pValue" -> IO VkResult type PFN_vkGetSemaphoreCounterValueKHR = FunPtr HS_vkGetSemaphoreCounterValueKHR type VkWaitSemaphoresKHR = "vkWaitSemaphoresKHR" pattern VkWaitSemaphoresKHR :: CString -- | This is an alias for vkWaitSemaphores. -- -- Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitSemaphoresKHR
--       ( VkDevice device
--       , const VkSemaphoreWaitInfo* pWaitInfo
--       , uint64_t timeout
--       )
--   
-- -- vkWaitSemaphoresKHR registry at www.khronos.org type HS_vkWaitSemaphoresKHR = VkDevice " device" -> Ptr VkSemaphoreWaitInfo " pWaitInfo" -> Word64 " timeout" -> IO VkResult type PFN_vkWaitSemaphoresKHR = FunPtr HS_vkWaitSemaphoresKHR type VkSignalSemaphoreKHR = "vkSignalSemaphoreKHR" pattern VkSignalSemaphoreKHR :: CString -- | This is an alias for vkSignalSemaphore. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSignalSemaphoreKHR
--       ( VkDevice device
--       , const VkSemaphoreSignalInfo* pSignalInfo
--       )
--   
-- -- vkSignalSemaphoreKHR registry at www.khronos.org type HS_vkSignalSemaphoreKHR = VkDevice " device" -> Ptr VkSemaphoreSignalInfo " pSignalInfo" -> IO VkResult type PFN_vkSignalSemaphoreKHR = FunPtr HS_vkSignalSemaphoreKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org type VkSemaphoreCreateInfo = VkStruct VkSemaphoreCreateInfo' -- |
--   typedef struct VkSemaphoreGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore                      semaphore;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkSemaphoreGetFdInfoKHR;
--   
-- -- VkSemaphoreGetFdInfoKHR registry at www.khronos.org type VkSemaphoreGetFdInfoKHR = VkStruct VkSemaphoreGetFdInfoKHR' -- |
--   typedef struct VkSemaphoreSignalInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphore            semaphore;
--       uint64_t               value;
--   } VkSemaphoreSignalInfo;
--   
-- -- VkSemaphoreSignalInfo registry at www.khronos.org type VkSemaphoreSignalInfo = VkStruct VkSemaphoreSignalInfo' -- |
--   typedef struct VkSemaphoreTypeCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreType        semaphoreType;
--       uint64_t               initialValue;
--   } VkSemaphoreTypeCreateInfo;
--   
-- -- VkSemaphoreTypeCreateInfo registry at www.khronos.org type VkSemaphoreTypeCreateInfo = VkStruct VkSemaphoreTypeCreateInfo' -- |
--   typedef struct VkSemaphoreWaitInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreWaitFlags flags;
--       uint32_t               semaphoreCount;
--       const VkSemaphore* pSemaphores;
--       const uint64_t*    pValues;
--   } VkSemaphoreWaitInfo;
--   
-- -- VkSemaphoreWaitInfo registry at www.khronos.org type VkSemaphoreWaitInfo = VkStruct VkSemaphoreWaitInfo' type VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION = 2 pattern VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME = "VK_KHR_timeline_semaphore" pattern VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR :: VkStructureType pattern VK_SEMAPHORE_TYPE_BINARY_KHR :: VkSemaphoreType pattern VK_SEMAPHORE_TYPE_TIMELINE_KHR :: VkSemaphoreType pattern VK_SEMAPHORE_WAIT_ANY_BIT_KHR :: VkSemaphoreWaitBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSignalSemaphoreKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkWaitSemaphoresKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSemaphoreCounterValueKHR" module Graphics.Vulkan.Ext.VK_KHR_shader_subgroup_extended_types -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION = 1 pattern VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME = "VK_KHR_shader_subgroup_extended_types" pattern VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_shader_float_controls -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION = 4 pattern VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME = "VK_KHR_shader_float_controls" pattern VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR :: VkStructureType pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR :: VkShaderFloatControlsIndependence module Graphics.Vulkan.Ext.VK_KHR_shader_float16_int8 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features type VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION = 1 pattern VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME = "VK_KHR_shader_float16_int8" pattern VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_shader_atomic_int64 -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features type VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION = 1 pattern VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME = "VK_KHR_shader_atomic_int64" pattern VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_separate_depth_stencil_layouts -- | Alias for VkAttachmentDescriptionStencilLayout type VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout -- | Alias for VkAttachmentReferenceStencilLayout type VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 pattern VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" pattern VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR :: VkStructureType pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR :: VkImageLayout pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR :: VkImageLayout pattern VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR :: VkImageLayout pattern VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR :: VkImageLayout module Graphics.Vulkan.Ext.VK_KHR_sampler_mirror_clamp_to_edge type VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME :: CString -- | No need to add an extnumber attribute, since this uses a core enum -- value pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE :: VkSamplerAddressMode -- | Alias introduced for consistency with extension suffixing rules pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR :: VkSamplerAddressMode module Graphics.Vulkan.Ext.VK_KHR_imageless_framebuffer -- | Alias for VkFramebufferAttachmentImageInfo type VkFramebufferAttachmentImageInfoKHR = VkFramebufferAttachmentImageInfo -- | Alias for VkFramebufferAttachmentsCreateInfo type VkFramebufferAttachmentsCreateInfoKHR = VkFramebufferAttachmentsCreateInfo -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- | Alias for VkRenderPassAttachmentBeginInfo type VkRenderPassAttachmentBeginInfoKHR = VkRenderPassAttachmentBeginInfo type VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION = 1 pattern VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME = "VK_KHR_imageless_framebuffer" pattern VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR :: VkStructureType pattern VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR :: VkFramebufferCreateBitmask a module Graphics.Vulkan.Ext.VK_KHR_image_format_list -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo type VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1 pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME = "VK_KHR_image_format_list" pattern VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_driver_properties -- | Alias for VkConformanceVersion type VkConformanceVersionKHR = VkConformanceVersion -- | type = enum -- -- VkDriverId registry at www.khronos.org newtype VkDriverId VkDriverId :: Int32 -> VkDriverId -- | Advanced Micro Devices, Inc. pattern VK_DRIVER_ID_AMD_PROPRIETARY :: VkDriverId -- | Advanced Micro Devices, Inc. pattern VK_DRIVER_ID_AMD_OPEN_SOURCE :: VkDriverId -- | Mesa open source project pattern VK_DRIVER_ID_MESA_RADV :: VkDriverId -- | NVIDIA Corporation pattern VK_DRIVER_ID_NVIDIA_PROPRIETARY :: VkDriverId -- | Intel Corporation pattern VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: VkDriverId -- | Intel Corporation pattern VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: VkDriverId -- | Imagination Technologies pattern VK_DRIVER_ID_IMAGINATION_PROPRIETARY :: VkDriverId -- | Qualcomm Technologies, Inc. pattern VK_DRIVER_ID_QUALCOMM_PROPRIETARY :: VkDriverId -- | Arm Limited pattern VK_DRIVER_ID_ARM_PROPRIETARY :: VkDriverId -- | Google LLC pattern VK_DRIVER_ID_GOOGLE_SWIFTSHADER :: VkDriverId -- | Google LLC pattern VK_DRIVER_ID_GGP_PROPRIETARY :: VkDriverId -- | Broadcom Inc. pattern VK_DRIVER_ID_BROADCOM_PROPRIETARY :: VkDriverId -- | Mesa pattern VK_DRIVER_ID_MESA_LLVMPIPE :: VkDriverId -- | MoltenVK pattern VK_DRIVER_ID_MOLTENVK :: VkDriverId newtype VkDriverIdKHR VkDriverIdKHR :: VkFlags -> VkDriverIdKHR -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties type VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 pattern VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME = "VK_KHR_driver_properties" pattern VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR :: VkStructureType pattern VK_MAX_DRIVER_NAME_SIZE_KHR :: (Num a, Eq a) => a pattern VK_MAX_DRIVER_INFO_SIZE_KHR :: (Num a, Eq a) => a pattern VK_DRIVER_ID_AMD_PROPRIETARY_KHR :: VkDriverId pattern VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR :: VkDriverId pattern VK_DRIVER_ID_MESA_RADV_KHR :: VkDriverId pattern VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR :: VkDriverId pattern VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR :: VkDriverId pattern VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR :: VkDriverId pattern VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR :: VkDriverId pattern VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR :: VkDriverId pattern VK_DRIVER_ID_ARM_PROPRIETARY_KHR :: VkDriverId pattern VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR :: VkDriverId pattern VK_DRIVER_ID_GGP_PROPRIETARY_KHR :: VkDriverId pattern VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR :: VkDriverId module Graphics.Vulkan.Ext.VK_KHR_depth_stencil_resolve -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties newtype VkResolveModeBitmask (a :: FlagType) VkResolveModeBitmask :: VkFlags -> VkResolveModeBitmask (a :: FlagType) pattern VkResolveModeFlagBits :: VkFlags -> VkResolveModeBitmask FlagBit pattern VkResolveModeFlags :: VkFlags -> VkResolveModeBitmask FlagMask pattern VK_RESOLVE_MODE_NONE :: VkResolveModeBitmask a -- | bitpos = 0 pattern VK_RESOLVE_MODE_SAMPLE_ZERO_BIT :: VkResolveModeBitmask a -- | bitpos = 1 pattern VK_RESOLVE_MODE_AVERAGE_BIT :: VkResolveModeBitmask a -- | bitpos = 2 pattern VK_RESOLVE_MODE_MIN_BIT :: VkResolveModeBitmask a -- | bitpos = 3 pattern VK_RESOLVE_MODE_MAX_BIT :: VkResolveModeBitmask a type VkResolveModeFlagBits = VkResolveModeBitmask FlagBit newtype VkResolveModeFlagBitsKHR VkResolveModeFlagBitsKHR :: VkFlags -> VkResolveModeFlagBitsKHR type VkResolveModeFlags = VkResolveModeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Alias for VkSubpassDescriptionDepthStencilResolve type VkSubpassDescriptionDepthStencilResolveKHR = VkSubpassDescriptionDepthStencilResolve type VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION = 1 pattern VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME = "VK_KHR_depth_stencil_resolve" pattern VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR :: VkStructureType pattern VK_RESOLVE_MODE_NONE_KHR :: VkResolveModeBitmask a pattern VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR :: VkResolveModeBitmask a pattern VK_RESOLVE_MODE_AVERAGE_BIT_KHR :: VkResolveModeBitmask a pattern VK_RESOLVE_MODE_MIN_BIT_KHR :: VkResolveModeBitmask a pattern VK_RESOLVE_MODE_MAX_BIT_KHR :: VkResolveModeBitmask a module Graphics.Vulkan.Ext.VK_KHR_create_renderpass2 -- | Alias for VkAttachmentDescription2 type VkAttachmentDescription2KHR = VkAttachmentDescription2 -- | Alias for VkAttachmentReference2 type VkAttachmentReference2KHR = VkAttachmentReference2 -- | Alias for VkRenderPassCreateInfo2 type VkRenderPassCreateInfo2KHR = VkRenderPassCreateInfo2 -- | Alias for VkSubpassBeginInfo type VkSubpassBeginInfoKHR = VkSubpassBeginInfo -- | Alias for VkSubpassDependency2 type VkSubpassDependency2KHR = VkSubpassDependency2 -- | Alias for VkSubpassDescription2 type VkSubpassDescription2KHR = VkSubpassDescription2 -- | Alias for VkSubpassEndInfo type VkSubpassEndInfoKHR = VkSubpassEndInfo type VkCreateRenderPass2KHR = "vkCreateRenderPass2KHR" pattern VkCreateRenderPass2KHR :: CString -- | This is an alias for vkCreateRenderPass2. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass2KHR
--       ( VkDevice device
--       , const VkRenderPassCreateInfo2* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass2KHR registry at www.khronos.org type HS_vkCreateRenderPass2KHR = VkDevice " device" -> Ptr VkRenderPassCreateInfo2 " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkRenderPass " pRenderPass" -> IO VkResult type PFN_vkCreateRenderPass2KHR = FunPtr HS_vkCreateRenderPass2KHR type VkCmdBeginRenderPass2KHR = "vkCmdBeginRenderPass2KHR" pattern VkCmdBeginRenderPass2KHR :: CString -- | This is an alias for vkCmdBeginRenderPass2. -- -- Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass2KHR
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo*      pRenderPassBegin
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       )
--   
-- -- vkCmdBeginRenderPass2KHR registry at www.khronos.org type HS_vkCmdBeginRenderPass2KHR = VkCommandBuffer " commandBuffer" -> Ptr VkRenderPassBeginInfo " pRenderPassBegin" -> Ptr VkSubpassBeginInfo " pSubpassBeginInfo" -> IO () type PFN_vkCmdBeginRenderPass2KHR = FunPtr HS_vkCmdBeginRenderPass2KHR type VkCmdNextSubpass2KHR = "vkCmdNextSubpass2KHR" pattern VkCmdNextSubpass2KHR :: CString -- | This is an alias for vkCmdNextSubpass2. -- -- Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass2KHR
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassBeginInfo*      pSubpassBeginInfo
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdNextSubpass2KHR registry at www.khronos.org type HS_vkCmdNextSubpass2KHR = VkCommandBuffer " commandBuffer" -> Ptr VkSubpassBeginInfo " pSubpassBeginInfo" -> Ptr VkSubpassEndInfo " pSubpassEndInfo" -> IO () type PFN_vkCmdNextSubpass2KHR = FunPtr HS_vkCmdNextSubpass2KHR type VkCmdEndRenderPass2KHR = "vkCmdEndRenderPass2KHR" pattern VkCmdEndRenderPass2KHR :: CString -- | This is an alias for vkCmdEndRenderPass2. -- -- Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass2KHR
--       ( VkCommandBuffer commandBuffer
--       , const VkSubpassEndInfo*        pSubpassEndInfo
--       )
--   
-- -- vkCmdEndRenderPass2KHR registry at www.khronos.org type HS_vkCmdEndRenderPass2KHR = VkCommandBuffer " commandBuffer" -> Ptr VkSubpassEndInfo " pSubpassEndInfo" -> IO () type PFN_vkCmdEndRenderPass2KHR = FunPtr HS_vkCmdEndRenderPass2KHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask (a :: FlagType) pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask -- | Controls coherency of indirect command reads -- -- bitpos = 0 pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a -- | Controls coherency of index reads -- -- bitpos = 1 pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a -- | Controls coherency of input attachment reads -- -- bitpos = 4 pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader reads -- -- bitpos = 5 pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader writes -- -- bitpos = 6 pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment reads -- -- bitpos = 7 pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment writes -- -- bitpos = 8 pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of transfer reads -- -- bitpos = 11 pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of transfer writes -- -- bitpos = 12 pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of host reads -- -- bitpos = 13 pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a -- | Controls coherency of host writes -- -- bitpos = 14 pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of memory reads -- -- bitpos = 15 pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a -- | Controls coherency of memory writes -- -- bitpos = 16 pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a type VkAccessFlagBits = VkAccessBitmask FlagBit type VkAccessFlags = VkAccessBitmask FlagMask newtype VkAttachmentDescriptionBitmask (a :: FlagType) VkAttachmentDescriptionBitmask :: VkFlags -> VkAttachmentDescriptionBitmask (a :: FlagType) pattern VkAttachmentDescriptionFlagBits :: VkFlags -> VkAttachmentDescriptionBitmask FlagBit pattern VkAttachmentDescriptionFlags :: VkFlags -> VkAttachmentDescriptionBitmask FlagMask -- | The attachment may alias physical memory of another attachment in the -- same render pass -- -- bitpos = 0 pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: VkAttachmentDescriptionBitmask a -- | type = enum -- -- VkAttachmentLoadOp registry at www.khronos.org newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp -- | type = enum -- -- VkAttachmentStoreOp registry at www.khronos.org newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp type VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionBitmask FlagBit type VkAttachmentDescriptionFlags = VkAttachmentDescriptionBitmask FlagMask newtype VkDependencyBitmask (a :: FlagType) VkDependencyBitmask :: VkFlags -> VkDependencyBitmask (a :: FlagType) pattern VkDependencyFlagBits :: VkFlags -> VkDependencyBitmask FlagBit pattern VkDependencyFlags :: VkFlags -> VkDependencyBitmask FlagMask -- | Dependency is per pixel region -- -- bitpos = 0 pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a type VkDependencyFlagBits = VkDependencyBitmask FlagBit type VkDependencyFlags = VkDependencyBitmask FlagMask -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask newtype VkRenderPassCreateBitmask (a :: FlagType) VkRenderPassCreateBitmask :: VkFlags -> VkRenderPassCreateBitmask (a :: FlagType) pattern VkRenderPassCreateFlagBits :: VkFlags -> VkRenderPassCreateBitmask FlagBit pattern VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateBitmask FlagMask type VkRenderPassCreateFlagBits = VkRenderPassCreateBitmask FlagBit type VkRenderPassCreateFlags = VkRenderPassCreateBitmask FlagMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | type = enum -- -- VkSubpassContents registry at www.khronos.org newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS :: VkSubpassContents newtype VkSubpassDescriptionBitmask (a :: FlagType) VkSubpassDescriptionBitmask :: VkFlags -> VkSubpassDescriptionBitmask (a :: FlagType) pattern VkSubpassDescriptionFlagBits :: VkFlags -> VkSubpassDescriptionBitmask FlagBit pattern VkSubpassDescriptionFlags :: VkFlags -> VkSubpassDescriptionBitmask FlagMask type VkSubpassDescriptionFlagBits = VkSubpassDescriptionBitmask FlagBit type VkSubpassDescriptionFlags = VkSubpassDescriptionBitmask FlagMask -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkAttachmentDescription {
--       VkAttachmentDescriptionFlags flags;
--       VkFormat               format;
--       VkSampleCountFlagBits  samples;
--       VkAttachmentLoadOp     loadOp;
--       VkAttachmentStoreOp    storeOp;
--       VkAttachmentLoadOp     stencilLoadOp;
--       VkAttachmentStoreOp    stencilStoreOp;
--       VkImageLayout          initialLayout;
--       VkImageLayout          finalLayout;
--   } VkAttachmentDescription;
--   
-- -- VkAttachmentDescription registry at www.khronos.org type VkAttachmentDescription = VkStruct VkAttachmentDescription' -- |
--   typedef struct VkAttachmentDescription2 {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAttachmentDescriptionFlags flags;
--       VkFormat                                     format;
--       VkSampleCountFlagBits                        samples;
--       VkAttachmentLoadOp                           loadOp;
--       VkAttachmentStoreOp                          storeOp;
--       VkAttachmentLoadOp                           stencilLoadOp;
--       VkAttachmentStoreOp                          stencilStoreOp;
--       VkImageLayout                                initialLayout;
--       VkImageLayout                                finalLayout;
--   } VkAttachmentDescription2;
--   
-- -- VkAttachmentDescription2 registry at www.khronos.org type VkAttachmentDescription2 = VkStruct VkAttachmentDescription2' -- |
--   typedef struct VkAttachmentDescriptionStencilLayout {
--       VkStructureTypesType;
--       void*    pNext;
--       VkImageLayout                  stencilInitialLayout;
--       VkImageLayout                  stencilFinalLayout;
--   } VkAttachmentDescriptionStencilLayout;
--   
-- -- VkAttachmentDescriptionStencilLayout registry at -- www.khronos.org type VkAttachmentDescriptionStencilLayout = VkStruct VkAttachmentDescriptionStencilLayout' -- | Alias for VkAttachmentDescriptionStencilLayout type VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org type VkAttachmentReference = VkStruct VkAttachmentReference' -- |
--   typedef struct VkAttachmentReference2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          attachment;
--       VkImageLayout                     layout;
--       VkImageAspectFlags aspectMask;
--   } VkAttachmentReference2;
--   
-- -- VkAttachmentReference2 registry at www.khronos.org type VkAttachmentReference2 = VkStruct VkAttachmentReference2' -- |
--   typedef struct VkAttachmentReferenceStencilLayout {
--       VkStructureTypesType;
--       void*    pNext;
--       VkImageLayout                  stencilLayout;
--   } VkAttachmentReferenceStencilLayout;
--   
-- -- VkAttachmentReferenceStencilLayout registry at www.khronos.org type VkAttachmentReferenceStencilLayout = VkStruct VkAttachmentReferenceStencilLayout' -- | Alias for VkAttachmentReferenceStencilLayout type VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout -- |
--   typedef struct VkAttachmentSampleLocationsEXT {
--       uint32_t                         attachmentIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkAttachmentSampleLocationsEXT;
--   
-- -- VkAttachmentSampleLocationsEXT registry at www.khronos.org type VkAttachmentSampleLocationsEXT = VkStruct VkAttachmentSampleLocationsEXT' -- |
--   typedef struct VkClearAttachment {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               colorAttachment;
--       VkClearValue           clearValue;
--   } VkClearAttachment;
--   
-- -- VkClearAttachment registry at www.khronos.org type VkClearAttachment = VkStruct VkClearAttachment' -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. -- --
--   typedef union VkClearColorValue {
--       float                  float32[4];
--       int32_t                int32[4];
--       uint32_t               uint32[4];
--   } VkClearColorValue;
--   
-- -- VkClearColorValue registry at www.khronos.org type VkClearColorValue = VkStruct VkClearColorValue' -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org type VkClearDepthStencilValue = VkStruct VkClearDepthStencilValue' -- |
--   typedef struct VkClearRect {
--       VkRect2D       rect;
--       uint32_t       baseArrayLayer;
--       uint32_t       layerCount;
--   } VkClearRect;
--   
-- -- VkClearRect registry at www.khronos.org type VkClearRect = VkStruct VkClearRect' -- | // Union allowing specification of color or depth and stencil values. -- Actual value selected is based on attachment being cleared. -- --
--   typedef union VkClearValue {
--       VkClearColorValue      color;
--       VkClearDepthStencilValue depthStencil;
--   } VkClearValue;
--   
-- -- VkClearValue registry at www.khronos.org type VkClearValue = VkStruct VkClearValue' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' -- |
--   typedef struct VkRenderPassAttachmentBeginInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       uint32_t                 attachmentCount;
--       const VkImageView* pAttachments;
--   } VkRenderPassAttachmentBeginInfo;
--   
-- -- VkRenderPassAttachmentBeginInfo registry at www.khronos.org type VkRenderPassAttachmentBeginInfo = VkStruct VkRenderPassAttachmentBeginInfo' -- | Alias for VkRenderPassAttachmentBeginInfo type VkRenderPassAttachmentBeginInfoKHR = VkRenderPassAttachmentBeginInfo -- |
--   typedef struct VkRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass           renderPass;
--       VkFramebuffer          framebuffer;
--       VkRect2D               renderArea;
--       uint32_t               clearValueCount;
--       const VkClearValue*    pClearValues;
--   } VkRenderPassBeginInfo;
--   
-- -- VkRenderPassBeginInfo registry at www.khronos.org type VkRenderPassBeginInfo = VkStruct VkRenderPassBeginInfo' -- |
--   typedef struct VkRenderPassCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPassCreateFlags flags;
--       uint32_t   attachmentCount;
--       const VkAttachmentDescription* pAttachments;
--       uint32_t               subpassCount;
--       const VkSubpassDescription* pSubpasses;
--       uint32_t       dependencyCount;
--       const VkSubpassDependency* pDependencies;
--   } VkRenderPassCreateInfo;
--   
-- -- VkRenderPassCreateInfo registry at www.khronos.org type VkRenderPassCreateInfo = VkStruct VkRenderPassCreateInfo' -- |
--   typedef struct VkRenderPassCreateInfo2 {
--       VkStructureType sType;
--       const void*                                              pNext;
--       VkRenderPassCreateFlags                  flags;
--       uint32_t                                 attachmentCount;
--       const VkAttachmentDescription2*    pAttachments;
--       uint32_t                                                 subpassCount;
--       const VkSubpassDescription2*          pSubpasses;
--       uint32_t                                 dependencyCount;
--       const VkSubpassDependency2*        pDependencies;
--       uint32_t                                 correlatedViewMaskCount;
--       const uint32_t*            pCorrelatedViewMasks;
--   } VkRenderPassCreateInfo2;
--   
-- -- VkRenderPassCreateInfo2 registry at www.khronos.org type VkRenderPassCreateInfo2 = VkStruct VkRenderPassCreateInfo2' -- |
--   typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkAttachmentReference            fragmentDensityMapAttachment;
--   } VkRenderPassFragmentDensityMapCreateInfoEXT;
--   
-- -- VkRenderPassFragmentDensityMapCreateInfoEXT registry at -- www.khronos.org type VkRenderPassFragmentDensityMapCreateInfoEXT = VkStruct VkRenderPassFragmentDensityMapCreateInfoEXT' -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org type VkRenderPassInputAttachmentAspectCreateInfo = VkStruct VkRenderPassInputAttachmentAspectCreateInfo' -- | Alias for VkRenderPassInputAttachmentAspectCreateInfo type VkRenderPassInputAttachmentAspectCreateInfoKHR = VkRenderPassInputAttachmentAspectCreateInfo -- |
--   typedef struct VkRenderPassMultiviewCreateInfo {
--       VkStructureType        sType;
--       const void*            pNext;
--       uint32_t               subpassCount;
--       const uint32_t*     pViewMasks;
--       uint32_t               dependencyCount;
--       const int32_t*   pViewOffsets;
--       uint32_t               correlationMaskCount;
--       const uint32_t* pCorrelationMasks;
--   } VkRenderPassMultiviewCreateInfo;
--   
-- -- VkRenderPassMultiviewCreateInfo registry at www.khronos.org type VkRenderPassMultiviewCreateInfo = VkStruct VkRenderPassMultiviewCreateInfo' -- | Alias for VkRenderPassMultiviewCreateInfo type VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo -- |
--   typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         attachmentInitialSampleLocationsCount;
--       const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
--       uint32_t         postSubpassSampleLocationsCount;
--       const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
--   } VkRenderPassSampleLocationsBeginInfoEXT;
--   
-- -- VkRenderPassSampleLocationsBeginInfoEXT registry at -- www.khronos.org type VkRenderPassSampleLocationsBeginInfoEXT = VkStruct VkRenderPassSampleLocationsBeginInfoEXT' -- |
--   typedef struct VkRenderPassTransformBeginInfoQCOM {
--       VkStructureType sType;
--       void*                           pNext;
--       VkSurfaceTransformFlagBitsKHR   transform;
--   } VkRenderPassTransformBeginInfoQCOM;
--   
-- -- VkRenderPassTransformBeginInfoQCOM registry at www.khronos.org type VkRenderPassTransformBeginInfoQCOM = VkStruct VkRenderPassTransformBeginInfoQCOM' -- |
--   typedef struct VkSubpassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSubpassContents      contents;
--   } VkSubpassBeginInfo;
--   
-- -- VkSubpassBeginInfo registry at www.khronos.org type VkSubpassBeginInfo = VkStruct VkSubpassBeginInfo' -- |
--   typedef struct VkSubpassDependency {
--       uint32_t               srcSubpass;
--       uint32_t               dstSubpass;
--       VkPipelineStageFlags   srcStageMask;
--       VkPipelineStageFlags   dstStageMask;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkDependencyFlags      dependencyFlags;
--   } VkSubpassDependency;
--   
-- -- VkSubpassDependency registry at www.khronos.org type VkSubpassDependency = VkStruct VkSubpassDependency' -- |
--   typedef struct VkSubpassDependency2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          srcSubpass;
--       uint32_t                          dstSubpass;
--       VkPipelineStageFlags              srcStageMask;
--       VkPipelineStageFlags              dstStageMask;
--       VkAccessFlags     srcAccessMask;
--       VkAccessFlags     dstAccessMask;
--       VkDependencyFlags dependencyFlags;
--       int32_t           viewOffset;
--   } VkSubpassDependency2;
--   
-- -- VkSubpassDependency2 registry at www.khronos.org type VkSubpassDependency2 = VkStruct VkSubpassDependency2' -- |
--   typedef struct VkSubpassDescription {
--       VkSubpassDescriptionFlags flags;
--       VkPipelineBindPoint    pipelineBindPoint;
--       uint32_t               inputAttachmentCount;
--       const VkAttachmentReference* pInputAttachments;
--       uint32_t               colorAttachmentCount;
--       const VkAttachmentReference* pColorAttachments;
--       const VkAttachmentReference* pResolveAttachments;
--       const VkAttachmentReference* pDepthStencilAttachment;
--       uint32_t               preserveAttachmentCount;
--       const uint32_t* pPreserveAttachments;
--   } VkSubpassDescription;
--   
-- -- VkSubpassDescription registry at www.khronos.org type VkSubpassDescription = VkStruct VkSubpassDescription' -- |
--   typedef struct VkSubpassDescription2 {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkSubpassDescriptionFlags                   flags;
--       VkPipelineBindPoint                                         pipelineBindPoint;
--       uint32_t                                                    viewMask;
--       uint32_t                                    inputAttachmentCount;
--       const VkAttachmentReference2*    pInputAttachments;
--       uint32_t                                    colorAttachmentCount;
--       const VkAttachmentReference2*    pColorAttachments;
--       const VkAttachmentReference2* pResolveAttachments;
--       const VkAttachmentReference2*               pDepthStencilAttachment;
--       uint32_t                                    preserveAttachmentCount;
--       const uint32_t*               pPreserveAttachments;
--   } VkSubpassDescription2;
--   
-- -- VkSubpassDescription2 registry at www.khronos.org type VkSubpassDescription2 = VkStruct VkSubpassDescription2' -- |
--   typedef struct VkSubpassDescriptionDepthStencilResolve {
--       VkStructureType sType;
--       const void*                                              pNext;
--       VkResolveModeFlagBits                                    depthResolveMode;
--       VkResolveModeFlagBits                                    stencilResolveMode;
--       const VkAttachmentReference2*            pDepthStencilResolveAttachment;
--   } VkSubpassDescriptionDepthStencilResolve;
--   
-- -- VkSubpassDescriptionDepthStencilResolve registry at -- www.khronos.org type VkSubpassDescriptionDepthStencilResolve = VkStruct VkSubpassDescriptionDepthStencilResolve' -- | Alias for VkSubpassDescriptionDepthStencilResolve type VkSubpassDescriptionDepthStencilResolveKHR = VkSubpassDescriptionDepthStencilResolve -- |
--   typedef struct VkSubpassEndInfo {
--       VkStructureType sType;
--       const void*            pNext;
--   } VkSubpassEndInfo;
--   
-- -- VkSubpassEndInfo registry at www.khronos.org type VkSubpassEndInfo = VkStruct VkSubpassEndInfo' -- |
--   typedef struct VkSubpassSampleLocationsEXT {
--       uint32_t                         subpassIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkSubpassSampleLocationsEXT;
--   
-- -- VkSubpassSampleLocationsEXT registry at www.khronos.org type VkSubpassSampleLocationsEXT = VkStruct VkSubpassSampleLocationsEXT' type VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION = 1 pattern VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME = "VK_KHR_create_renderpass2" pattern VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndRenderPass2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdNextSubpass2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginRenderPass2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateRenderPass2KHR" module Graphics.Vulkan.Ext.VK_KHR_buffer_device_address -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo -- | Alias for VkBufferOpaqueCaptureAddressCreateInfo type VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo -- | Alias for VkDeviceMemoryOpaqueCaptureAddressInfo type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures type VkGetBufferDeviceAddressKHR = "vkGetBufferDeviceAddressKHR" pattern VkGetBufferDeviceAddressKHR :: CString -- | This is an alias for vkGetBufferDeviceAddress. -- --
--   VkDeviceAddress vkGetBufferDeviceAddressKHR
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferDeviceAddressKHR registry at www.khronos.org type HS_vkGetBufferDeviceAddressKHR = VkDevice " device" -> Ptr VkBufferDeviceAddressInfo " pInfo" -> IO VkDeviceAddress type PFN_vkGetBufferDeviceAddressKHR = FunPtr HS_vkGetBufferDeviceAddressKHR type VkGetBufferOpaqueCaptureAddressKHR = "vkGetBufferOpaqueCaptureAddressKHR" pattern VkGetBufferOpaqueCaptureAddressKHR :: CString -- | This is an alias for vkGetBufferOpaqueCaptureAddress. -- --
--   uint64_t vkGetBufferOpaqueCaptureAddressKHR
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferOpaqueCaptureAddressKHR registry at www.khronos.org type HS_vkGetBufferOpaqueCaptureAddressKHR = VkDevice " device" -> Ptr VkBufferDeviceAddressInfo " pInfo" -> IO Word64 type PFN_vkGetBufferOpaqueCaptureAddressKHR = FunPtr HS_vkGetBufferOpaqueCaptureAddressKHR type VkGetDeviceMemoryOpaqueCaptureAddressKHR = "vkGetDeviceMemoryOpaqueCaptureAddressKHR" pattern VkGetDeviceMemoryOpaqueCaptureAddressKHR :: CString -- | This is an alias for vkGetDeviceMemoryOpaqueCaptureAddress. -- --
--   uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR
--       ( VkDevice device
--       , const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo
--       )
--   
-- -- vkGetDeviceMemoryOpaqueCaptureAddressKHR registry at -- www.khronos.org type HS_vkGetDeviceMemoryOpaqueCaptureAddressKHR = VkDevice " device" -> Ptr VkDeviceMemoryOpaqueCaptureAddressInfo " pInfo" -> IO Word64 type PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR = FunPtr HS_vkGetDeviceMemoryOpaqueCaptureAddressKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize                       srcOffset;
--       VkDeviceSize                       dstOffset;
--       VkDeviceSize size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org type VkBufferCopy = VkStruct VkBufferCopy' -- |
--   typedef struct VkBufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferCreateFlags    flags;
--       VkDeviceSize           size;
--       VkBufferUsageFlags     usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--   } VkBufferCreateInfo;
--   
-- -- VkBufferCreateInfo registry at www.khronos.org type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- |
--   typedef struct VkBufferDeviceAddressCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceAddress                  deviceAddress;
--   } VkBufferDeviceAddressCreateInfoEXT;
--   
-- -- VkBufferDeviceAddressCreateInfoEXT registry at www.khronos.org type VkBufferDeviceAddressCreateInfoEXT = VkStruct VkBufferDeviceAddressCreateInfoEXT' -- |
--   typedef struct VkBufferDeviceAddressInfo {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkBuffer                                               buffer;
--   } VkBufferDeviceAddressInfo;
--   
-- -- VkBufferDeviceAddressInfo registry at www.khronos.org type VkBufferDeviceAddressInfo = VkStruct VkBufferDeviceAddressInfo' -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org type VkBufferImageCopy = VkStruct VkBufferImageCopy' -- |
--   typedef struct VkBufferMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkBufferMemoryBarrier;
--   
-- -- VkBufferMemoryBarrier registry at www.khronos.org type VkBufferMemoryBarrier = VkStruct VkBufferMemoryBarrier' -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org type VkBufferMemoryRequirementsInfo2 = VkStruct VkBufferMemoryRequirementsInfo2' -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint64_t                         opaqueCaptureAddress;
--   } VkBufferOpaqueCaptureAddressCreateInfo;
--   
-- -- VkBufferOpaqueCaptureAddressCreateInfo registry at -- www.khronos.org type VkBufferOpaqueCaptureAddressCreateInfo = VkStruct VkBufferOpaqueCaptureAddressCreateInfo' -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org type VkBufferViewCreateInfo = VkStruct VkBufferViewCreateInfo' -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org type VkDeviceGroupBindSparseInfo = VkStruct VkDeviceGroupBindSparseInfo' -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- |
--   typedef struct VkDeviceGroupCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--   } VkDeviceGroupCommandBufferBeginInfo;
--   
-- -- VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org type VkDeviceGroupCommandBufferBeginInfo = VkStruct VkDeviceGroupCommandBufferBeginInfo' -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- |
--   typedef struct VkDeviceGroupDeviceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         physicalDeviceCount;
--       const VkPhysicalDevice*  pPhysicalDevices;
--   } VkDeviceGroupDeviceCreateInfo;
--   
-- -- VkDeviceGroupDeviceCreateInfo registry at www.khronos.org type VkDeviceGroupDeviceCreateInfo = VkStruct VkDeviceGroupDeviceCreateInfo' -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' -- |
--   typedef struct VkDeviceGroupRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--       uint32_t         deviceRenderAreaCount;
--       const VkRect2D*  pDeviceRenderAreas;
--   } VkDeviceGroupRenderPassBeginInfo;
--   
-- -- VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org type VkDeviceGroupRenderPassBeginInfo = VkStruct VkDeviceGroupRenderPassBeginInfo' -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- |
--   typedef struct VkDeviceGroupSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreCount;
--       const uint32_t*    pWaitSemaphoreDeviceIndices;
--       uint32_t         commandBufferCount;
--       const uint32_t*    pCommandBufferDeviceMasks;
--       uint32_t         signalSemaphoreCount;
--       const uint32_t*  pSignalSemaphoreDeviceIndices;
--   } VkDeviceGroupSubmitInfo;
--   
-- -- VkDeviceGroupSubmitInfo registry at www.khronos.org type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- |
--   typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--   } VkDeviceMemoryOpaqueCaptureAddressInfo;
--   
-- -- VkDeviceMemoryOpaqueCaptureAddressInfo registry at -- www.khronos.org type VkDeviceMemoryOpaqueCaptureAddressInfo = VkStruct VkDeviceMemoryOpaqueCaptureAddressInfo' -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' type VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 1 pattern VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_KHR_buffer_device_address" pattern VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR :: VkStructureType pattern VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR :: VkBufferUsageBitmask a pattern VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR :: VkBufferCreateBitmask a pattern VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR :: VkMemoryAllocateBitmask a pattern VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR :: VkMemoryAllocateBitmask a pattern VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR :: VkResult instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceMemoryOpaqueCaptureAddressKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferOpaqueCaptureAddressKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferDeviceAddressKHR" module Graphics.Vulkan.Ext.VK_KHR_8bit_storage -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures type VK_KHR_8BIT_STORAGE_SPEC_VERSION = 1 pattern VK_KHR_8BIT_STORAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_8BIT_STORAGE_EXTENSION_NAME = "VK_KHR_8bit_storage" pattern VK_KHR_8BIT_STORAGE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_separate_stencil_usage -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo type VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION = 1 pattern VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_usage" pattern VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_scalar_block_layout -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures type VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION = 1 pattern VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" pattern VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_sampler_filter_minmax -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- | Alias for VkSamplerReductionModeCreateInfo type VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: VkSamplerAddressMode -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode -- | Linear filter between mip levels pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode -- | type = enum -- -- VkSamplerReductionMode registry at www.khronos.org newtype VkSamplerReductionMode VkSamplerReductionMode :: Int32 -> VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion -- | just range expansion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion -- | aka HD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion -- | aka SD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion -- | aka UHD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion -- | type = enum -- -- VkSamplerYcbcrRange registry at www.khronos.org newtype VkSamplerYcbcrRange VkSamplerYcbcrRange :: Int32 -> VkSamplerYcbcrRange -- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped) pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange newtype VkSamplerCreateBitmask (a :: FlagType) VkSamplerCreateBitmask :: VkFlags -> VkSamplerCreateBitmask (a :: FlagType) pattern VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateBitmask FlagBit pattern VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateBitmask FlagMask type VkSamplerCreateFlagBits = VkSamplerCreateBitmask FlagBit type VkSamplerCreateFlags = VkSamplerCreateBitmask FlagMask newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: VkFlags -> VkSamplerReductionModeEXT newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR type VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 2 pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME = "VK_EXT_sampler_filter_minmax" pattern VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT :: VkStructureType pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT :: VkFormatFeatureBitmask a pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MIN_EXT :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MAX_EXT :: VkSamplerReductionMode module Graphics.Vulkan.Ext.VK_EXT_host_query_reset -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures type VkResetQueryPoolEXT = "vkResetQueryPoolEXT" pattern VkResetQueryPoolEXT :: CString -- | This is an alias for vkResetQueryPool. -- --
--   void vkResetQueryPoolEXT
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkResetQueryPoolEXT registry at www.khronos.org type HS_vkResetQueryPoolEXT = VkDevice " device" -> VkQueryPool " queryPool" -> Word32 " firstQuery" -> Word32 " queryCount" -> IO () type PFN_vkResetQueryPoolEXT = FunPtr HS_vkResetQueryPoolEXT type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_EXT_HOST_QUERY_RESET_SPEC_VERSION = 1 pattern VK_EXT_HOST_QUERY_RESET_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME = "VK_EXT_host_query_reset" pattern VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetQueryPoolEXT" module Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Alias for VkDescriptorSetLayoutBindingFlagsCreateInfo type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfo -- | Alias for VkDescriptorSetVariableDescriptorCountAllocateInfo type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfo -- | Alias for VkDescriptorSetVariableDescriptorCountLayoutSupport type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupport -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties type VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2 pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME = "VK_EXT_descriptor_indexing" pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT :: VkStructureType pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT :: VkDescriptorBindingBitmask a pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT :: VkDescriptorBindingBitmask a pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT :: VkDescriptorBindingBitmask a pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT :: VkDescriptorBindingBitmask a pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT :: VkDescriptorPoolCreateBitmask a pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT :: VkDescriptorSetLayoutCreateBitmask a pattern VK_ERROR_FRAGMENTATION_EXT :: VkResult module Graphics.Vulkan.Ext.VK_EXT_buffer_device_address -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask (a :: FlagType) pattern VkBufferCreateFlagBits :: VkFlags -> VkBufferCreateBitmask FlagBit pattern VkBufferCreateFlags :: VkFlags -> VkBufferCreateBitmask FlagMask -- | Buffer should support sparse backing -- -- bitpos = 0 pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT :: VkBufferCreateBitmask a -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: VkBufferCreateBitmask a -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT :: VkBufferCreateBitmask a newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask (a :: FlagType) pattern VkBufferUsageFlagBits :: VkFlags -> VkBufferUsageBitmask FlagBit pattern VkBufferUsageFlags :: VkFlags -> VkBufferUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a -- | Can be used as TBO -- -- bitpos = 2 pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as IBO -- -- bitpos = 3 pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as UBO -- -- bitpos = 4 pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as SSBO -- -- bitpos = 5 pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT :: VkBufferUsageBitmask a type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask -- |
--   typedef struct VkBufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferCreateFlags    flags;
--       VkDeviceSize           size;
--       VkBufferUsageFlags     usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--   } VkBufferCreateInfo;
--   
-- -- VkBufferCreateInfo registry at www.khronos.org type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- |
--   typedef struct VkBufferDeviceAddressCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceAddress                  deviceAddress;
--   } VkBufferDeviceAddressCreateInfoEXT;
--   
-- -- VkBufferDeviceAddressCreateInfoEXT registry at www.khronos.org type VkBufferDeviceAddressCreateInfoEXT = VkStruct VkBufferDeviceAddressCreateInfoEXT' -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetBufferDeviceAddressEXT = "vkGetBufferDeviceAddressEXT" pattern VkGetBufferDeviceAddressEXT :: CString -- | This is an alias for vkGetBufferDeviceAddress. -- --
--   VkDeviceAddress vkGetBufferDeviceAddressEXT
--       ( VkDevice device
--       , const VkBufferDeviceAddressInfo* pInfo
--       )
--   
-- -- vkGetBufferDeviceAddressEXT registry at www.khronos.org type HS_vkGetBufferDeviceAddressEXT = VkDevice " device" -> Ptr VkBufferDeviceAddressInfo " pInfo" -> IO VkDeviceAddress type PFN_vkGetBufferDeviceAddressEXT = FunPtr HS_vkGetBufferDeviceAddressEXT type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize                       srcOffset;
--       VkDeviceSize                       dstOffset;
--       VkDeviceSize size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org type VkBufferCopy = VkStruct VkBufferCopy' -- |
--   typedef struct VkBufferDeviceAddressInfo {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkBuffer                                               buffer;
--   } VkBufferDeviceAddressInfo;
--   
-- -- VkBufferDeviceAddressInfo registry at www.khronos.org type VkBufferDeviceAddressInfo = VkStruct VkBufferDeviceAddressInfo' -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org type VkBufferImageCopy = VkStruct VkBufferImageCopy' -- |
--   typedef struct VkBufferMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkBufferMemoryBarrier;
--   
-- -- VkBufferMemoryBarrier registry at www.khronos.org type VkBufferMemoryBarrier = VkStruct VkBufferMemoryBarrier' -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org type VkBufferMemoryRequirementsInfo2 = VkStruct VkBufferMemoryRequirementsInfo2' -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint64_t                         opaqueCaptureAddress;
--   } VkBufferOpaqueCaptureAddressCreateInfo;
--   
-- -- VkBufferOpaqueCaptureAddressCreateInfo registry at -- www.khronos.org type VkBufferOpaqueCaptureAddressCreateInfo = VkStruct VkBufferOpaqueCaptureAddressCreateInfo' -- | Alias for VkBufferOpaqueCaptureAddressCreateInfo type VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org type VkBufferViewCreateInfo = VkStruct VkBufferViewCreateInfo' type VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 2 pattern VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_EXT_buffer_device_address" pattern VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: VkStructureType pattern VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT :: VkBufferUsageBitmask a pattern VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT :: VkBufferCreateBitmask a pattern VK_ERROR_INVALID_DEVICE_ADDRESS_EXT :: VkResult instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferDeviceAddressEXT" module Graphics.Vulkan.Ext.VK_EXT_validation_flags -- |
--   typedef struct VkApplicationInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       const char*     pApplicationName;
--       uint32_t        applicationVersion;
--       const char*     pEngineName;
--       uint32_t        engineVersion;
--       uint32_t        apiVersion;
--   } VkApplicationInfo;
--   
-- -- VkApplicationInfo registry at www.khronos.org type VkApplicationInfo = VkStruct VkApplicationInfo' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkInstanceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkInstanceCreateFlags  flags;
--       const VkApplicationInfo* pApplicationInfo;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--   } VkInstanceCreateInfo;
--   
-- -- VkInstanceCreateInfo registry at www.khronos.org type VkInstanceCreateInfo = VkStruct VkInstanceCreateInfo' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | type = enum -- -- VkValidationCacheHeaderVersionEXT registry at www.khronos.org newtype VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT :: Int32 -> VkValidationCacheHeaderVersionEXT pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT :: VkValidationCacheHeaderVersionEXT -- | type = enum -- -- VkValidationCheckEXT registry at www.khronos.org newtype VkValidationCheckEXT VkValidationCheckEXT :: Int32 -> VkValidationCheckEXT pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT pattern VK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT -- | type = enum -- -- VkValidationFeatureDisableEXT registry at www.khronos.org newtype VkValidationFeatureDisableEXT VkValidationFeatureDisableEXT :: Int32 -> VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_ALL_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT :: VkValidationFeatureDisableEXT -- | type = enum -- -- VkValidationFeatureEnableEXT registry at www.khronos.org newtype VkValidationFeatureEnableEXT VkValidationFeatureEnableEXT :: Int32 -> VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT :: VkValidationFeatureEnableEXT -- |
--   typedef struct VkValidationFlagsEXT {
--       VkStructureType                  sType;
--       const void*                      pNext;
--       uint32_t                         disabledValidationCheckCount;
--       const VkValidationCheckEXT* pDisabledValidationChecks;
--   } VkValidationFlagsEXT;
--   
-- -- VkValidationFlagsEXT registry at www.khronos.org type VkValidationFlagsEXT = VkStruct VkValidationFlagsEXT' type VK_EXT_VALIDATION_FLAGS_SPEC_VERSION = 2 pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME = "VK_EXT_validation_flags" pattern VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_validation_features -- |
--   typedef struct VkApplicationInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       const char*     pApplicationName;
--       uint32_t        applicationVersion;
--       const char*     pEngineName;
--       uint32_t        engineVersion;
--       uint32_t        apiVersion;
--   } VkApplicationInfo;
--   
-- -- VkApplicationInfo registry at www.khronos.org type VkApplicationInfo = VkStruct VkApplicationInfo' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkInstanceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkInstanceCreateFlags  flags;
--       const VkApplicationInfo* pApplicationInfo;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--   } VkInstanceCreateInfo;
--   
-- -- VkInstanceCreateInfo registry at www.khronos.org type VkInstanceCreateInfo = VkStruct VkInstanceCreateInfo' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | type = enum -- -- VkValidationCacheHeaderVersionEXT registry at www.khronos.org newtype VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT :: Int32 -> VkValidationCacheHeaderVersionEXT pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT :: VkValidationCacheHeaderVersionEXT -- | type = enum -- -- VkValidationCheckEXT registry at www.khronos.org newtype VkValidationCheckEXT VkValidationCheckEXT :: Int32 -> VkValidationCheckEXT pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT pattern VK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT -- | type = enum -- -- VkValidationFeatureDisableEXT registry at www.khronos.org newtype VkValidationFeatureDisableEXT VkValidationFeatureDisableEXT :: Int32 -> VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_ALL_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT :: VkValidationFeatureDisableEXT -- | type = enum -- -- VkValidationFeatureEnableEXT registry at www.khronos.org newtype VkValidationFeatureEnableEXT VkValidationFeatureEnableEXT :: Int32 -> VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT :: VkValidationFeatureEnableEXT -- |
--   typedef struct VkValidationFeaturesEXT {
--       VkStructureType  sType;
--       const void*                      pNext;
--       uint32_t                         enabledValidationFeatureCount;
--       const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
--       uint32_t                         disabledValidationFeatureCount;
--       const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
--   } VkValidationFeaturesEXT;
--   
-- -- VkValidationFeaturesEXT registry at www.khronos.org type VkValidationFeaturesEXT = VkStruct VkValidationFeaturesEXT' type VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 pattern VK_EXT_VALIDATION_FEATURES_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" pattern VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_validation_cache -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkShaderModuleCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkShaderModuleCreateFlags flags;
--       size_t                 codeSize;
--       const uint32_t*            pCode;
--   } VkShaderModuleCreateInfo;
--   
-- -- VkShaderModuleCreateInfo registry at www.khronos.org type VkShaderModuleCreateInfo = VkStruct VkShaderModuleCreateInfo' -- |
--   typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheEXT    validationCache;
--   } VkShaderModuleValidationCacheCreateInfoEXT;
--   
-- -- VkShaderModuleValidationCacheCreateInfoEXT registry at -- www.khronos.org type VkShaderModuleValidationCacheCreateInfoEXT = VkStruct VkShaderModuleValidationCacheCreateInfoEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheCreateFlagsEXT    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkValidationCacheCreateInfoEXT;
--   
-- -- VkValidationCacheCreateInfoEXT registry at www.khronos.org type VkValidationCacheCreateInfoEXT = VkStruct VkValidationCacheCreateInfoEXT' -- | type = enum -- -- VkValidationCacheHeaderVersionEXT registry at www.khronos.org newtype VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT :: Int32 -> VkValidationCacheHeaderVersionEXT pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT :: VkValidationCacheHeaderVersionEXT -- | type = enum -- -- VkValidationCheckEXT registry at www.khronos.org newtype VkValidationCheckEXT VkValidationCheckEXT :: Int32 -> VkValidationCheckEXT pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT pattern VK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT -- | type = enum -- -- VkValidationFeatureDisableEXT registry at www.khronos.org newtype VkValidationFeatureDisableEXT VkValidationFeatureDisableEXT :: Int32 -> VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_ALL_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT :: VkValidationFeatureDisableEXT pattern VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT :: VkValidationFeatureDisableEXT -- | type = enum -- -- VkValidationFeatureEnableEXT registry at www.khronos.org newtype VkValidationFeatureEnableEXT VkValidationFeatureEnableEXT :: Int32 -> VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT :: VkValidationFeatureEnableEXT pattern VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT :: VkValidationFeatureEnableEXT type VkCreateValidationCacheEXT = "vkCreateValidationCacheEXT" pattern VkCreateValidationCacheEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkCreateValidationCacheEXT
--       ( VkDevice device
--       , const VkValidationCacheCreateInfoEXT* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkValidationCacheEXT* pValidationCache
--       )
--   
-- -- vkCreateValidationCacheEXT registry at www.khronos.org type HS_vkCreateValidationCacheEXT = VkDevice " device" -> Ptr VkValidationCacheCreateInfoEXT " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkValidationCacheEXT " pValidationCache" -> IO VkResult type PFN_vkCreateValidationCacheEXT = FunPtr HS_vkCreateValidationCacheEXT type VkDestroyValidationCacheEXT = "vkDestroyValidationCacheEXT" pattern VkDestroyValidationCacheEXT :: CString -- |
--   void vkDestroyValidationCacheEXT
--       ( VkDevice device
--       , VkValidationCacheEXT validationCache
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyValidationCacheEXT registry at www.khronos.org type HS_vkDestroyValidationCacheEXT = VkDevice " device" -> VkValidationCacheEXT " validationCache" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyValidationCacheEXT = FunPtr HS_vkDestroyValidationCacheEXT type VkMergeValidationCachesEXT = "vkMergeValidationCachesEXT" pattern VkMergeValidationCachesEXT :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkMergeValidationCachesEXT
--       ( VkDevice device
--       , VkValidationCacheEXT dstCache
--       , uint32_t srcCacheCount
--       , const VkValidationCacheEXT* pSrcCaches
--       )
--   
-- -- vkMergeValidationCachesEXT registry at www.khronos.org type HS_vkMergeValidationCachesEXT = VkDevice " device" -> VkValidationCacheEXT " dstCache" -> Word32 " srcCacheCount" -> Ptr VkValidationCacheEXT " pSrcCaches" -> IO VkResult type PFN_vkMergeValidationCachesEXT = FunPtr HS_vkMergeValidationCachesEXT type VkGetValidationCacheDataEXT = "vkGetValidationCacheDataEXT" pattern VkGetValidationCacheDataEXT :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetValidationCacheDataEXT
--       ( VkDevice device
--       , VkValidationCacheEXT validationCache
--       , size_t* pDataSize
--       , void* pData
--       )
--   
-- -- vkGetValidationCacheDataEXT registry at www.khronos.org type HS_vkGetValidationCacheDataEXT = VkDevice " device" -> VkValidationCacheEXT " validationCache" -> Ptr CSize " pDataSize" -> Ptr Void " pData" -> IO VkResult type PFN_vkGetValidationCacheDataEXT = FunPtr HS_vkGetValidationCacheDataEXT -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkValidationFeaturesEXT {
--       VkStructureType  sType;
--       const void*                      pNext;
--       uint32_t                         enabledValidationFeatureCount;
--       const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
--       uint32_t                         disabledValidationFeatureCount;
--       const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
--   } VkValidationFeaturesEXT;
--   
-- -- VkValidationFeaturesEXT registry at www.khronos.org type VkValidationFeaturesEXT = VkStruct VkValidationFeaturesEXT' -- |
--   typedef struct VkValidationFlagsEXT {
--       VkStructureType                  sType;
--       const void*                      pNext;
--       uint32_t                         disabledValidationCheckCount;
--       const VkValidationCheckEXT* pDisabledValidationChecks;
--   } VkValidationFlagsEXT;
--   
-- -- VkValidationFlagsEXT registry at www.khronos.org type VkValidationFlagsEXT = VkStruct VkValidationFlagsEXT' type VK_EXT_VALIDATION_CACHE_SPEC_VERSION = 1 pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_VALIDATION_CACHE_EXTENSION_NAME = "VK_EXT_validation_cache" pattern VK_EXT_VALIDATION_CACHE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: VkStructureType -- | VkValidationCacheEXT pattern VK_OBJECT_TYPE_VALIDATION_CACHE_EXT :: VkObjectType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetValidationCacheDataEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkMergeValidationCachesEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyValidationCacheEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateValidationCacheEXT" module Graphics.Vulkan.Ext.VK_EXT_extended_dynamic_state -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCmdSetCullModeEXT = "vkCmdSetCullModeEXT" pattern VkCmdSetCullModeEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetCullModeEXT
--       ( VkCommandBuffer commandBuffer
--       , VkCullModeFlags cullMode
--       )
--   
-- -- vkCmdSetCullModeEXT registry at www.khronos.org type HS_vkCmdSetCullModeEXT = VkCommandBuffer " commandBuffer" -> VkCullModeFlags " cullMode" -> IO () type PFN_vkCmdSetCullModeEXT = FunPtr HS_vkCmdSetCullModeEXT type VkCmdSetFrontFaceEXT = "vkCmdSetFrontFaceEXT" pattern VkCmdSetFrontFaceEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetFrontFaceEXT
--       ( VkCommandBuffer commandBuffer
--       , VkFrontFace frontFace
--       )
--   
-- -- vkCmdSetFrontFaceEXT registry at www.khronos.org type HS_vkCmdSetFrontFaceEXT = VkCommandBuffer " commandBuffer" -> VkFrontFace " frontFace" -> IO () type PFN_vkCmdSetFrontFaceEXT = FunPtr HS_vkCmdSetFrontFaceEXT type VkCmdSetPrimitiveTopologyEXT = "vkCmdSetPrimitiveTopologyEXT" pattern VkCmdSetPrimitiveTopologyEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetPrimitiveTopologyEXT
--       ( VkCommandBuffer commandBuffer
--       , VkPrimitiveTopology primitiveTopology
--       )
--   
-- -- vkCmdSetPrimitiveTopologyEXT registry at www.khronos.org type HS_vkCmdSetPrimitiveTopologyEXT = VkCommandBuffer " commandBuffer" -> VkPrimitiveTopology " primitiveTopology" -> IO () type PFN_vkCmdSetPrimitiveTopologyEXT = FunPtr HS_vkCmdSetPrimitiveTopologyEXT type VkCmdSetViewportWithCountEXT = "vkCmdSetViewportWithCountEXT" pattern VkCmdSetViewportWithCountEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetViewportWithCountEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t viewportCount
--       , const VkViewport* pViewports
--       )
--   
-- -- vkCmdSetViewportWithCountEXT registry at www.khronos.org type HS_vkCmdSetViewportWithCountEXT = VkCommandBuffer " commandBuffer" -> Word32 " viewportCount" -> Ptr VkViewport " pViewports" -> IO () type PFN_vkCmdSetViewportWithCountEXT = FunPtr HS_vkCmdSetViewportWithCountEXT type VkCmdSetScissorWithCountEXT = "vkCmdSetScissorWithCountEXT" pattern VkCmdSetScissorWithCountEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetScissorWithCountEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t scissorCount
--       , const VkRect2D* pScissors
--       )
--   
-- -- vkCmdSetScissorWithCountEXT registry at www.khronos.org type HS_vkCmdSetScissorWithCountEXT = VkCommandBuffer " commandBuffer" -> Word32 " scissorCount" -> Ptr VkRect2D " pScissors" -> IO () type PFN_vkCmdSetScissorWithCountEXT = FunPtr HS_vkCmdSetScissorWithCountEXT type VkCmdBindVertexBuffers2EXT = "vkCmdBindVertexBuffers2EXT" pattern VkCmdBindVertexBuffers2EXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindVertexBuffers2EXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstBinding
--       , uint32_t bindingCount
--       , const VkBuffer* pBuffers
--       , const VkDeviceSize* pOffsets
--       , const VkDeviceSize* pSizes
--       , const VkDeviceSize* pStrides
--       )
--   
-- -- vkCmdBindVertexBuffers2EXT registry at www.khronos.org type HS_vkCmdBindVertexBuffers2EXT = VkCommandBuffer " commandBuffer" -> Word32 " firstBinding" -> Word32 " bindingCount" -> Ptr VkBuffer " pBuffers" -> Ptr VkDeviceSize " pOffsets" -> Ptr VkDeviceSize " pSizes" -> Ptr VkDeviceSize " pStrides" -> IO () type PFN_vkCmdBindVertexBuffers2EXT = FunPtr HS_vkCmdBindVertexBuffers2EXT type VkCmdSetDepthTestEnableEXT = "vkCmdSetDepthTestEnableEXT" pattern VkCmdSetDepthTestEnableEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthTestEnableEXT
--       ( VkCommandBuffer commandBuffer
--       , VkBool32 depthTestEnable
--       )
--   
-- -- vkCmdSetDepthTestEnableEXT registry at www.khronos.org type HS_vkCmdSetDepthTestEnableEXT = VkCommandBuffer " commandBuffer" -> VkBool32 " depthTestEnable" -> IO () type PFN_vkCmdSetDepthTestEnableEXT = FunPtr HS_vkCmdSetDepthTestEnableEXT type VkCmdSetDepthWriteEnableEXT = "vkCmdSetDepthWriteEnableEXT" pattern VkCmdSetDepthWriteEnableEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthWriteEnableEXT
--       ( VkCommandBuffer commandBuffer
--       , VkBool32 depthWriteEnable
--       )
--   
-- -- vkCmdSetDepthWriteEnableEXT registry at www.khronos.org type HS_vkCmdSetDepthWriteEnableEXT = VkCommandBuffer " commandBuffer" -> VkBool32 " depthWriteEnable" -> IO () type PFN_vkCmdSetDepthWriteEnableEXT = FunPtr HS_vkCmdSetDepthWriteEnableEXT type VkCmdSetDepthCompareOpEXT = "vkCmdSetDepthCompareOpEXT" pattern VkCmdSetDepthCompareOpEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthCompareOpEXT
--       ( VkCommandBuffer commandBuffer
--       , VkCompareOp depthCompareOp
--       )
--   
-- -- vkCmdSetDepthCompareOpEXT registry at www.khronos.org type HS_vkCmdSetDepthCompareOpEXT = VkCommandBuffer " commandBuffer" -> VkCompareOp " depthCompareOp" -> IO () type PFN_vkCmdSetDepthCompareOpEXT = FunPtr HS_vkCmdSetDepthCompareOpEXT type VkCmdSetDepthBoundsTestEnableEXT = "vkCmdSetDepthBoundsTestEnableEXT" pattern VkCmdSetDepthBoundsTestEnableEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBoundsTestEnableEXT
--       ( VkCommandBuffer commandBuffer
--       , VkBool32 depthBoundsTestEnable
--       )
--   
-- -- vkCmdSetDepthBoundsTestEnableEXT registry at www.khronos.org type HS_vkCmdSetDepthBoundsTestEnableEXT = VkCommandBuffer " commandBuffer" -> VkBool32 " depthBoundsTestEnable" -> IO () type PFN_vkCmdSetDepthBoundsTestEnableEXT = FunPtr HS_vkCmdSetDepthBoundsTestEnableEXT type VkCmdSetStencilTestEnableEXT = "vkCmdSetStencilTestEnableEXT" pattern VkCmdSetStencilTestEnableEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilTestEnableEXT
--       ( VkCommandBuffer commandBuffer
--       , VkBool32 stencilTestEnable
--       )
--   
-- -- vkCmdSetStencilTestEnableEXT registry at www.khronos.org type HS_vkCmdSetStencilTestEnableEXT = VkCommandBuffer " commandBuffer" -> VkBool32 " stencilTestEnable" -> IO () type PFN_vkCmdSetStencilTestEnableEXT = FunPtr HS_vkCmdSetStencilTestEnableEXT type VkCmdSetStencilOpEXT = "vkCmdSetStencilOpEXT" pattern VkCmdSetStencilOpEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilOpEXT
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , VkStencilOp failOp
--       , VkStencilOp passOp
--       , VkStencilOp depthFailOp
--       , VkCompareOp compareOp
--       )
--   
-- -- vkCmdSetStencilOpEXT registry at www.khronos.org type HS_vkCmdSetStencilOpEXT = VkCommandBuffer " commandBuffer" -> VkStencilFaceFlags " faceMask" -> VkStencilOp " failOp" -> VkStencilOp " passOp" -> VkStencilOp " depthFailOp" -> VkCompareOp " compareOp" -> IO () type PFN_vkCmdSetStencilOpEXT = FunPtr HS_vkCmdSetStencilOpEXT -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask (a :: FlagType) pattern VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceBitmask FlagBit pattern VkStencilFaceFlags :: VkFlags -> VkStencilFaceBitmask FlagMask -- | Front face -- -- bitpos = 0 pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a -- | Back face -- -- bitpos = 1 pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a -- | Front and back faces pattern VK_STENCIL_FACE_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | Alias for backwards compatibility pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp pattern VK_STENCIL_OP_KEEP :: VkStencilOp pattern VK_STENCIL_OP_ZERO :: VkStencilOp pattern VK_STENCIL_OP_REPLACE :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_INVERT :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org type VkViewportSwizzleNV = VkStruct VkViewportSwizzleNV' -- |
--   typedef struct VkViewportWScalingNV {
--       float          xcoeff;
--       float          ycoeff;
--   } VkViewportWScalingNV;
--   
-- -- VkViewportWScalingNV registry at www.khronos.org type VkViewportWScalingNV = VkStruct VkViewportWScalingNV' type VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 pattern VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" pattern VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: VkStructureType pattern VK_DYNAMIC_STATE_CULL_MODE_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_FRONT_FACE_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_OP_EXT :: VkDynamicState instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilOpEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilTestEnableEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthBoundsTestEnableEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthCompareOpEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthWriteEnableEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthTestEnableEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindVertexBuffers2EXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetScissorWithCountEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetViewportWithCountEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetPrimitiveTopologyEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetFrontFaceEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetCullModeEXT" module Graphics.Vulkan.Ext.VK_KHR_push_descriptor -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCmdPushDescriptorSetKHR = "vkCmdPushDescriptorSetKHR" pattern VkCmdPushDescriptorSetKHR :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdPushDescriptorSetKHR
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipelineLayout layout
--       , uint32_t set
--       , uint32_t descriptorWriteCount
--       , const VkWriteDescriptorSet* pDescriptorWrites
--       )
--   
-- -- vkCmdPushDescriptorSetKHR registry at www.khronos.org type HS_vkCmdPushDescriptorSetKHR = VkCommandBuffer " commandBuffer" -> VkPipelineBindPoint " pipelineBindPoint" -> VkPipelineLayout " layout" -> Word32 " set" -> Word32 " descriptorWriteCount" -> Ptr VkWriteDescriptorSet " pDescriptorWrites" -> IO () type PFN_vkCmdPushDescriptorSetKHR = FunPtr HS_vkCmdPushDescriptorSetKHR newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' -- |
--   typedef struct VkDescriptorPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPoolCreateFlags  flags;
--       uint32_t               maxSets;
--       uint32_t               poolSizeCount;
--       const VkDescriptorPoolSize* pPoolSizes;
--   } VkDescriptorPoolCreateInfo;
--   
-- -- VkDescriptorPoolCreateInfo registry at www.khronos.org type VkDescriptorPoolCreateInfo = VkStruct VkDescriptorPoolCreateInfo' -- |
--   typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               maxInlineUniformBlockBindings;
--   } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
--   
-- -- VkDescriptorPoolInlineUniformBlockCreateInfoEXT registry at -- www.khronos.org type VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkStruct VkDescriptorPoolInlineUniformBlockCreateInfoEXT' -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org type VkDescriptorPoolSize = VkStruct VkDescriptorPoolSize' -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org type VkDescriptorSetAllocateInfo = VkStruct VkDescriptorSetAllocateInfo' -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org type VkDescriptorSetLayoutBinding = VkStruct VkDescriptorSetLayoutBinding' -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       uint32_t                                           bindingCount;
--       const VkDescriptorBindingFlags* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfo;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfo registry at -- www.khronos.org type VkDescriptorSetLayoutBindingFlagsCreateInfo = VkStruct VkDescriptorSetLayoutBindingFlagsCreateInfo' -- | Alias for VkDescriptorSetLayoutBindingFlagsCreateInfo type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org type VkDescriptorSetLayoutCreateInfo = VkStruct VkDescriptorSetLayoutCreateInfo' -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org type VkDescriptorSetLayoutSupport = VkStruct VkDescriptorSetLayoutSupport' -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfo;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfo registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountAllocateInfo = VkStruct VkDescriptorSetVariableDescriptorCountAllocateInfo' -- | Alias for VkDescriptorSetVariableDescriptorCountAllocateInfo type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfo -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupport;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupport registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountLayoutSupport = VkStruct VkDescriptorSetVariableDescriptorCountLayoutSupport' -- | Alias for VkDescriptorSetVariableDescriptorCountLayoutSupport type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupport -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       const void*                               pNext;
--       VkDescriptorUpdateTemplateCreateFlags    flags;
--       uint32_t                 descriptorUpdateEntryCount;
--       const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
--       VkDescriptorUpdateTemplateType templateType;
--       VkDescriptorSetLayout descriptorSetLayout;
--       VkPipelineBindPoint pipelineBindPoint;
--       VkPipelineLayoutpipelineLayout;
--       uint32_t set;
--   } VkDescriptorUpdateTemplateCreateInfo;
--   
-- -- VkDescriptorUpdateTemplateCreateInfo registry at -- www.khronos.org type VkDescriptorUpdateTemplateCreateInfo = VkStruct VkDescriptorUpdateTemplateCreateInfo' -- | Alias for VkDescriptorUpdateTemplateCreateInfo type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo -- |
--   typedef struct VkDescriptorUpdateTemplateEntry {
--       uint32_t                         dstBinding;
--       uint32_t                         dstArrayElement;
--       uint32_t                         descriptorCount;
--       VkDescriptorType                 descriptorType;
--       size_t                           offset;
--       size_t                           stride;
--   } VkDescriptorUpdateTemplateEntry;
--   
-- -- VkDescriptorUpdateTemplateEntry registry at www.khronos.org type VkDescriptorUpdateTemplateEntry = VkStruct VkDescriptorUpdateTemplateEntry' -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry -- |
--   typedef struct VkWriteDescriptorSet {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSet        dstSet;
--       uint32_t               dstBinding;
--       uint32_t               dstArrayElement;
--       uint32_t               descriptorCount;
--       VkDescriptorType       descriptorType;
--       const VkDescriptorImageInfo* pImageInfo;
--       const VkDescriptorBufferInfo* pBufferInfo;
--       const VkBufferView*    pTexelBufferView;
--   } VkWriteDescriptorSet;
--   
-- -- VkWriteDescriptorSet registry at www.khronos.org type VkWriteDescriptorSet = VkStruct VkWriteDescriptorSet' -- | Alias for VkWriteDescriptorSetAccelerationStructureKHR type VkWriteDescriptorSetAccelerationStructureNV = VkWriteDescriptorSetAccelerationStructureKHR -- |
--   typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               dataSize;
--       const void* pData;
--   } VkWriteDescriptorSetInlineUniformBlockEXT;
--   
-- -- VkWriteDescriptorSetInlineUniformBlockEXT registry at -- www.khronos.org type VkWriteDescriptorSetInlineUniformBlockEXT = VkStruct VkWriteDescriptorSetInlineUniformBlockEXT' type VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2 pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor" pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: VkStructureType -- | Descriptors are pushed via flink:vkCmdPushDescriptorSetKHR -- -- bitpos = 0 pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR :: VkDescriptorSetLayoutCreateBitmask a type VkCmdPushDescriptorSetWithTemplateKHR = "vkCmdPushDescriptorSetWithTemplateKHR" pattern VkCmdPushDescriptorSetWithTemplateKHR :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdPushDescriptorSetWithTemplateKHR
--       ( VkCommandBuffer commandBuffer
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , VkPipelineLayout layout
--       , uint32_t set
--       , const void* pData
--       )
--   
-- -- vkCmdPushDescriptorSetWithTemplateKHR registry at -- www.khronos.org type HS_vkCmdPushDescriptorSetWithTemplateKHR = VkCommandBuffer " commandBuffer" -> VkDescriptorUpdateTemplate " descriptorUpdateTemplate" -> VkPipelineLayout " layout" -> Word32 " set" -> Ptr Void " pData" -> IO () type PFN_vkCmdPushDescriptorSetWithTemplateKHR = FunPtr HS_vkCmdPushDescriptorSetWithTemplateKHR -- | Create descriptor update template for pushed descriptor updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR :: VkDescriptorUpdateTemplateType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPushDescriptorSetWithTemplateKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPushDescriptorSetKHR" module Graphics.Vulkan.Ext.VK_EXT_inline_uniform_block -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   typedef struct VkDescriptorPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPoolCreateFlags  flags;
--       uint32_t               maxSets;
--       uint32_t               poolSizeCount;
--       const VkDescriptorPoolSize* pPoolSizes;
--   } VkDescriptorPoolCreateInfo;
--   
-- -- VkDescriptorPoolCreateInfo registry at www.khronos.org type VkDescriptorPoolCreateInfo = VkStruct VkDescriptorPoolCreateInfo' -- |
--   typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               maxInlineUniformBlockBindings;
--   } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
--   
-- -- VkDescriptorPoolInlineUniformBlockCreateInfoEXT registry at -- www.khronos.org type VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkStruct VkDescriptorPoolInlineUniformBlockCreateInfoEXT' -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org type VkDescriptorPoolSize = VkStruct VkDescriptorPoolSize' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkWriteDescriptorSet {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSet        dstSet;
--       uint32_t               dstBinding;
--       uint32_t               dstArrayElement;
--       uint32_t               descriptorCount;
--       VkDescriptorType       descriptorType;
--       const VkDescriptorImageInfo* pImageInfo;
--       const VkDescriptorBufferInfo* pBufferInfo;
--       const VkBufferView*    pTexelBufferView;
--   } VkWriteDescriptorSet;
--   
-- -- VkWriteDescriptorSet registry at www.khronos.org type VkWriteDescriptorSet = VkStruct VkWriteDescriptorSet' -- |
--   typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               dataSize;
--       const void* pData;
--   } VkWriteDescriptorSetInlineUniformBlockEXT;
--   
-- -- VkWriteDescriptorSetInlineUniformBlockEXT registry at -- www.khronos.org type VkWriteDescriptorSetInlineUniformBlockEXT = VkStruct VkWriteDescriptorSetInlineUniformBlockEXT' type VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION = 1 pattern VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME = "VK_EXT_inline_uniform_block" pattern VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME :: CString pattern VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT :: VkDescriptorType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_viewport_swizzle -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportSwizzleStateCreateInfoNV = VkStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' -- | type = enum -- -- VkViewportCoordinateSwizzleNV registry at www.khronos.org newtype VkViewportCoordinateSwizzleNV VkViewportCoordinateSwizzleNV :: Int32 -> VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: VkViewportCoordinateSwizzleNV pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: VkViewportCoordinateSwizzleNV -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org type VkViewportSwizzleNV = VkStruct VkViewportSwizzleNV' type VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1 pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle" pattern VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_shading_rate_image -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkCoarseSampleLocationNV {
--       uint32_t                            pixelX;
--       uint32_t                            pixelY;
--       uint32_t                            sample;
--   } VkCoarseSampleLocationNV;
--   
-- -- VkCoarseSampleLocationNV registry at www.khronos.org type VkCoarseSampleLocationNV = VkStruct VkCoarseSampleLocationNV' -- |
--   typedef struct VkCoarseSampleOrderCustomNV {
--       VkShadingRatePaletteEntryNV         shadingRate;
--       uint32_t                            sampleCount;
--       uint32_t                            sampleLocationCount;
--       const VkCoarseSampleLocationNV* pSampleLocations;
--   } VkCoarseSampleOrderCustomNV;
--   
-- -- VkCoarseSampleOrderCustomNV registry at www.khronos.org type VkCoarseSampleOrderCustomNV = VkStruct VkCoarseSampleOrderCustomNV' -- | type = enum -- -- VkCoarseSampleOrderTypeNV registry at www.khronos.org newtype VkCoarseSampleOrderTypeNV VkCoarseSampleOrderTypeNV :: Int32 -> VkCoarseSampleOrderTypeNV pattern VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV :: VkCoarseSampleOrderTypeNV pattern VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV :: VkCoarseSampleOrderTypeNV pattern VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV :: VkCoarseSampleOrderTypeNV pattern VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV :: VkCoarseSampleOrderTypeNV newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                            pNext;
--       VkCoarseSampleOrderTypeNV                                              sampleOrderType;
--       uint32_t                                               customSampleOrderCount;
--       const VkCoarseSampleOrderCustomNV*        pCustomSampleOrders;
--   } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
--   
-- -- VkPipelineViewportCoarseSampleOrderStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = VkStruct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                             pNext;
--       VkBool32                                                                shadingRateImageEnable;
--       uint32_t                                                viewportCount;
--       const VkShadingRatePaletteNV* pShadingRatePalettes;
--   } VkPipelineViewportShadingRateImageStateCreateInfoNV;
--   
-- -- VkPipelineViewportShadingRateImageStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportShadingRateImageStateCreateInfoNV = VkStruct VkPipelineViewportShadingRateImageStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShadingRatePaletteEntryNV registry at www.khronos.org newtype VkShadingRatePaletteEntryNV VkShadingRatePaletteEntryNV :: Int32 -> VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV :: VkShadingRatePaletteEntryNV pattern VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV :: VkShadingRatePaletteEntryNV -- |
--   typedef struct VkShadingRatePaletteNV {
--       uint32_t                                                               shadingRatePaletteEntryCount;
--       const VkShadingRatePaletteEntryNV*  pShadingRatePaletteEntries;
--   } VkShadingRatePaletteNV;
--   
-- -- VkShadingRatePaletteNV registry at www.khronos.org type VkShadingRatePaletteNV = VkStruct VkShadingRatePaletteNV' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VkCmdBindShadingRateImageNV = "vkCmdBindShadingRateImageNV" pattern VkCmdBindShadingRateImageNV :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindShadingRateImageNV
--       ( VkCommandBuffer commandBuffer
--       , VkImageView imageView
--       , VkImageLayout imageLayout
--       )
--   
-- -- vkCmdBindShadingRateImageNV registry at www.khronos.org type HS_vkCmdBindShadingRateImageNV = VkCommandBuffer " commandBuffer" -> VkImageView " imageView" -> VkImageLayout " imageLayout" -> IO () type PFN_vkCmdBindShadingRateImageNV = FunPtr HS_vkCmdBindShadingRateImageNV type VkCmdSetViewportShadingRatePaletteNV = "vkCmdSetViewportShadingRatePaletteNV" pattern VkCmdSetViewportShadingRatePaletteNV :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetViewportShadingRatePaletteNV
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstViewport
--       , uint32_t viewportCount
--       , const VkShadingRatePaletteNV* pShadingRatePalettes
--       )
--   
-- -- vkCmdSetViewportShadingRatePaletteNV registry at -- www.khronos.org type HS_vkCmdSetViewportShadingRatePaletteNV = VkCommandBuffer " commandBuffer" -> Word32 " firstViewport" -> Word32 " viewportCount" -> Ptr VkShadingRatePaletteNV " pShadingRatePalettes" -> IO () type PFN_vkCmdSetViewportShadingRatePaletteNV = FunPtr HS_vkCmdSetViewportShadingRatePaletteNV type VkCmdSetCoarseSampleOrderNV = "vkCmdSetCoarseSampleOrderNV" pattern VkCmdSetCoarseSampleOrderNV :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetCoarseSampleOrderNV
--       ( VkCommandBuffer commandBuffer
--       , VkCoarseSampleOrderTypeNV sampleOrderType
--       , uint32_t customSampleOrderCount
--       , const VkCoarseSampleOrderCustomNV* pCustomSampleOrders
--       )
--   
-- -- vkCmdSetCoarseSampleOrderNV registry at www.khronos.org type HS_vkCmdSetCoarseSampleOrderNV = VkCommandBuffer " commandBuffer" -> VkCoarseSampleOrderTypeNV " sampleOrderType" -> Word32 " customSampleOrderCount" -> Ptr VkCoarseSampleOrderCustomNV " pCustomSampleOrders" -> IO () type PFN_vkCmdSetCoarseSampleOrderNV = FunPtr HS_vkCmdSetCoarseSampleOrderNV newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3 pattern VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image" pattern VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: VkStructureType pattern VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: VkImageLayout pattern VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV :: VkDynamicState -- | bitpos = 23 pattern VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV :: VkAccessBitmask a -- | bitpos = 8 pattern VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV :: VkImageUsageBitmask a -- | bitpos = 22 pattern VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV :: VkPipelineStageBitmask a pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: VkStructureType pattern VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV :: VkDynamicState instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetCoarseSampleOrderNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetViewportShadingRatePaletteNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindShadingRateImageNV" module Graphics.Vulkan.Ext.VK_NV_scissor_exclusive -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       uint32_t                                          exclusiveScissorCount;
--       const VkRect2D* pExclusiveScissors;
--   } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
--   
-- -- VkPipelineViewportExclusiveScissorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportExclusiveScissorStateCreateInfoNV = VkStruct VkPipelineViewportExclusiveScissorStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VkCmdSetExclusiveScissorNV = "vkCmdSetExclusiveScissorNV" pattern VkCmdSetExclusiveScissorNV :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetExclusiveScissorNV
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstExclusiveScissor
--       , uint32_t exclusiveScissorCount
--       , const VkRect2D* pExclusiveScissors
--       )
--   
-- -- vkCmdSetExclusiveScissorNV registry at www.khronos.org type HS_vkCmdSetExclusiveScissorNV = VkCommandBuffer " commandBuffer" -> Word32 " firstExclusiveScissor" -> Word32 " exclusiveScissorCount" -> Ptr VkRect2D " pExclusiveScissors" -> IO () type PFN_vkCmdSetExclusiveScissorNV = FunPtr HS_vkCmdSetExclusiveScissorNV type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' type VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION = 1 pattern VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME = "VK_NV_scissor_exclusive" pattern VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: VkStructureType pattern VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV :: VkDynamicState pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetExclusiveScissorNV" module Graphics.Vulkan.Ext.VK_NV_representative_fragment_test -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp pattern VK_BLEND_OP_ADD :: VkBlendOp pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_MIN :: VkBlendOp pattern VK_BLEND_OP_MAX :: VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp pattern VK_LOGIC_OP_CLEAR :: VkLogicOp pattern VK_LOGIC_OP_AND :: VkLogicOp pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY :: VkLogicOp pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NO_OP :: VkLogicOp pattern VK_LOGIC_OP_XOR :: VkLogicOp pattern VK_LOGIC_OP_OR :: VkLogicOp pattern VK_LOGIC_OP_NOR :: VkLogicOp pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp pattern VK_LOGIC_OP_INVERT :: VkLogicOp pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NAND :: VkLogicOp pattern VK_LOGIC_OP_SET :: VkLogicOp -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       representativeFragmentTestEnable;
--   } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
--   
-- -- VkPipelineRepresentativeFragmentTestStateCreateInfoNV registry at -- www.khronos.org type VkPipelineRepresentativeFragmentTestStateCreateInfoNV = VkStruct VkPipelineRepresentativeFragmentTestStateCreateInfoNV' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask (a :: FlagType) pattern VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceBitmask FlagBit pattern VkStencilFaceFlags :: VkFlags -> VkStencilFaceBitmask FlagMask -- | Front face -- -- bitpos = 0 pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a -- | Back face -- -- bitpos = 1 pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a -- | Front and back faces pattern VK_STENCIL_FACE_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | Alias for backwards compatibility pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp pattern VK_STENCIL_OP_KEEP :: VkStencilOp pattern VK_STENCIL_OP_ZERO :: VkStencilOp pattern VK_STENCIL_OP_REPLACE :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_INVERT :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask -- |
--   typedef struct VkStencilOpState {
--       VkStencilOp            failOp;
--       VkStencilOp            passOp;
--       VkStencilOp            depthFailOp;
--       VkCompareOp            compareOp;
--       uint32_t               compareMask;
--       uint32_t               writeMask;
--       uint32_t               reference;
--   } VkStencilOpState;
--   
-- -- VkStencilOpState registry at www.khronos.org type VkStencilOpState = VkStruct VkStencilOpState' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org type VkVertexInputAttributeDescription = VkStruct VkVertexInputAttributeDescription' -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org type VkVertexInputBindingDescription = VkStruct VkVertexInputBindingDescription' -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION = 2 pattern VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME = "VK_NV_representative_fragment_test" pattern VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_framebuffer_mixed_samples -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkCoverageModulationModeNV registry at www.khronos.org newtype VkCoverageModulationModeNV VkCoverageModulationModeNV :: Int32 -> VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_NONE_NV :: VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_RGB_NV :: VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV :: VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV :: VkCoverageModulationModeNV -- | type = enum -- -- VkCoverageReductionModeNV registry at www.khronos.org newtype VkCoverageReductionModeNV VkCoverageReductionModeNV :: Int32 -> VkCoverageReductionModeNV pattern VK_COVERAGE_REDUCTION_MODE_MERGE_NV :: VkCoverageReductionModeNV pattern VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: VkCoverageReductionModeNV newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageModulationStateCreateFlagsNV                   flags;
--       VkCoverageModulationModeNV                                                       coverageModulationMode;
--       VkBool32                                                                         coverageModulationTableEnable;
--       uint32_t                                                         coverageModulationTableCount;
--       const float* pCoverageModulationTable;
--   } VkPipelineCoverageModulationStateCreateInfoNV;
--   
-- -- VkPipelineCoverageModulationStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageModulationStateCreateInfoNV = VkStruct VkPipelineCoverageModulationStateCreateInfoNV' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1 pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples" pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_fragment_coverage_to_color -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageToColorStateCreateInfoNV = VkStruct VkPipelineCoverageToColorStateCreateInfoNV' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1 pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME = "VK_NV_fragment_coverage_to_color" pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: VkStructureType module Graphics.Vulkan.Ext.VK_NV_device_generated_commands -- |
--   typedef struct VkBindIndexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       VkIndexType      indexType;
--   } VkBindIndexBufferIndirectCommandNV;
--   
-- -- VkBindIndexBufferIndirectCommandNV registry at www.khronos.org type VkBindIndexBufferIndirectCommandNV = VkStruct VkBindIndexBufferIndirectCommandNV' -- |
--   typedef struct VkBindShaderGroupIndirectCommandNV {
--       uint32_t         groupIndex;
--   } VkBindShaderGroupIndirectCommandNV;
--   
-- -- VkBindShaderGroupIndirectCommandNV registry at www.khronos.org type VkBindShaderGroupIndirectCommandNV = VkStruct VkBindShaderGroupIndirectCommandNV' -- |
--   typedef struct VkBindVertexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       uint32_t         stride;
--   } VkBindVertexBufferIndirectCommandNV;
--   
-- -- VkBindVertexBufferIndirectCommandNV registry at www.khronos.org type VkBindVertexBufferIndirectCommandNV = VkStruct VkBindVertexBufferIndirectCommandNV' -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp pattern VK_BLEND_OP_ADD :: VkBlendOp pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_MIN :: VkBlendOp pattern VK_BLEND_OP_MAX :: VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkGeneratedCommandsInfoNV {
--       VkStructureType sType;
--       const void*                        pNext;
--       VkPipelineBindPoint                pipelineBindPoint;
--       VkPipeline                         pipeline;
--       VkIndirectCommandsLayoutNV         indirectCommandsLayout;
--       uint32_t                           streamCount;
--       const VkIndirectCommandsStreamNV*  pStreams;
--       uint32_t                           sequencesCount;
--       VkBuffer                           preprocessBuffer;
--       VkDeviceSize                       preprocessOffset;
--       VkDeviceSize                       preprocessSize;
--       VkBuffer           sequencesCountBuffer;
--       VkDeviceSize       sequencesCountOffset;
--       VkBuffer           sequencesIndexBuffer;
--       VkDeviceSize       sequencesIndexOffset;
--   } VkGeneratedCommandsInfoNV;
--   
-- -- VkGeneratedCommandsInfoNV registry at www.khronos.org type VkGeneratedCommandsInfoNV = VkStruct VkGeneratedCommandsInfoNV' -- |
--   typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
--       VkStructureType sType;
--       const void*                 pNext;
--       VkPipelineBindPoint         pipelineBindPoint;
--       VkPipeline                  pipeline;
--       VkIndirectCommandsLayoutNV  indirectCommandsLayout;
--       uint32_t                    maxSequencesCount;
--   } VkGeneratedCommandsMemoryRequirementsInfoNV;
--   
-- -- VkGeneratedCommandsMemoryRequirementsInfoNV registry at -- www.khronos.org type VkGeneratedCommandsMemoryRequirementsInfoNV = VkStruct VkGeneratedCommandsMemoryRequirementsInfoNV' -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- |
--   typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                pNext;
--       uint32_t                                                   groupCount;
--       const VkGraphicsShaderGroupCreateInfoNV*  pGroups;
--       uint32_t                                   pipelineCount;
--       const VkPipeline*                      pPipelines;
--   } VkGraphicsPipelineShaderGroupsCreateInfoNV;
--   
-- -- VkGraphicsPipelineShaderGroupsCreateInfoNV registry at -- www.khronos.org type VkGraphicsPipelineShaderGroupsCreateInfoNV = VkStruct VkGraphicsPipelineShaderGroupsCreateInfoNV' -- |
--   typedef struct VkGraphicsShaderGroupCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                pNext;
--       uint32_t                                                   stageCount;
--       const VkPipelineShaderStageCreateInfo*    pStages;
--       const VkPipelineVertexInputStateCreateInfo*                pVertexInputState;
--       const VkPipelineTessellationStateCreateInfo*               pTessellationState;
--   } VkGraphicsShaderGroupCreateInfoNV;
--   
-- -- VkGraphicsShaderGroupCreateInfoNV registry at www.khronos.org type VkGraphicsShaderGroupCreateInfoNV = VkStruct VkGraphicsShaderGroupCreateInfoNV' -- | type = enum -- -- VkIndexType registry at www.khronos.org newtype VkIndexType VkIndexType :: Int32 -> VkIndexType pattern VK_INDEX_TYPE_UINT16 :: VkIndexType pattern VK_INDEX_TYPE_UINT32 :: VkIndexType -- |
--   typedef struct VkIndirectCommandsLayoutCreateInfoNV {
--       VkStructureType sType;
--       const void*                             pNext;
--       VkIndirectCommandsLayoutUsageFlagsNV    flags;
--       VkPipelineBindPoint                     pipelineBindPoint;
--       uint32_t                                tokenCount;
--       const VkIndirectCommandsLayoutTokenNV*  pTokens;
--       uint32_t                                streamCount;
--       const uint32_t*       pStreamStrides;
--   } VkIndirectCommandsLayoutCreateInfoNV;
--   
-- -- VkIndirectCommandsLayoutCreateInfoNV registry at -- www.khronos.org type VkIndirectCommandsLayoutCreateInfoNV = VkStruct VkIndirectCommandsLayoutCreateInfoNV' -- |
--   typedef struct VkIndirectCommandsLayoutTokenNV {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkIndirectCommandsTokenTypeNV  tokenType;
--       uint32_t                       stream;
--       uint32_t                       offset;
--       uint32_t                                vertexBindingUnit;
--       VkBool32                                vertexDynamicStride;
--       VkPipelineLayout        pushconstantPipelineLayout;
--       VkShaderStageFlags      pushconstantShaderStageFlags;
--       uint32_t                                pushconstantOffset;
--       uint32_t                                pushconstantSize;
--       VkIndirectStateFlagsNV  indirectStateFlags;
--       uint32_t                indexTypeCount;
--       const VkIndexType* pIndexTypes;
--       const uint32_t*    pIndexTypeValues;
--   } VkIndirectCommandsLayoutTokenNV;
--   
-- -- VkIndirectCommandsLayoutTokenNV registry at www.khronos.org type VkIndirectCommandsLayoutTokenNV = VkStruct VkIndirectCommandsLayoutTokenNV' newtype VkIndirectCommandsLayoutUsageBitmaskNV (a :: FlagType) VkIndirectCommandsLayoutUsageBitmaskNV :: VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNV (a :: FlagType) pattern VkIndirectCommandsLayoutUsageFlagBitsNV :: VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNV FlagBit pattern VkIndirectCommandsLayoutUsageFlagsNV :: VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNV FlagMask -- | bitpos = 0 pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV :: VkIndirectCommandsLayoutUsageBitmaskNV a -- | bitpos = 1 pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV :: VkIndirectCommandsLayoutUsageBitmaskNV a -- | bitpos = 2 pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV :: VkIndirectCommandsLayoutUsageBitmaskNV a -- | type = enum -- -- VkIndirectCommandsTokenTypeNV registry at www.khronos.org newtype VkIndirectCommandsTokenTypeNV VkIndirectCommandsTokenTypeNV :: Int32 -> VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV :: VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV :: VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV :: VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV :: VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV :: VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV :: VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV :: VkIndirectCommandsTokenTypeNV pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV :: VkIndirectCommandsTokenTypeNV newtype VkIndirectStateBitmaskNV (a :: FlagType) VkIndirectStateBitmaskNV :: VkFlags -> VkIndirectStateBitmaskNV (a :: FlagType) pattern VkIndirectStateFlagBitsNV :: VkFlags -> VkIndirectStateBitmaskNV FlagBit pattern VkIndirectStateFlagsNV :: VkFlags -> VkIndirectStateBitmaskNV FlagMask -- | bitpos = 0 pattern VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV :: VkIndirectStateBitmaskNV a type VkIndirectCommandsLayoutUsageFlagBitsNV = VkIndirectCommandsLayoutUsageBitmaskNV FlagBit type VkIndirectCommandsLayoutUsageFlagsNV = VkIndirectCommandsLayoutUsageBitmaskNV FlagMask type VkIndirectStateFlagBitsNV = VkIndirectStateBitmaskNV FlagBit type VkIndirectStateFlagsNV = VkIndirectStateBitmaskNV FlagMask -- |
--   typedef struct VkIndirectCommandsStreamNV {
--       VkBuffer      buffer;
--       VkDeviceSize  offset;
--   } VkIndirectCommandsStreamNV;
--   
-- -- VkIndirectCommandsStreamNV registry at www.khronos.org type VkIndirectCommandsStreamNV = VkStruct VkIndirectCommandsStreamNV' -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp pattern VK_LOGIC_OP_CLEAR :: VkLogicOp pattern VK_LOGIC_OP_AND :: VkLogicOp pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY :: VkLogicOp pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NO_OP :: VkLogicOp pattern VK_LOGIC_OP_XOR :: VkLogicOp pattern VK_LOGIC_OP_OR :: VkLogicOp pattern VK_LOGIC_OP_NOR :: VkLogicOp pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp pattern VK_LOGIC_OP_INVERT :: VkLogicOp pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NAND :: VkLogicOp pattern VK_LOGIC_OP_SET :: VkLogicOp -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- |
--   typedef struct VkSetStateFlagsIndirectCommandNV {
--       uint32_t          data;
--   } VkSetStateFlagsIndirectCommandNV;
--   
-- -- VkSetStateFlagsIndirectCommandNV registry at www.khronos.org type VkSetStateFlagsIndirectCommandNV = VkStruct VkSetStateFlagsIndirectCommandNV' -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask (a :: FlagType) pattern VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceBitmask FlagBit pattern VkStencilFaceFlags :: VkFlags -> VkStencilFaceBitmask FlagMask -- | Front face -- -- bitpos = 0 pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a -- | Back face -- -- bitpos = 1 pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a -- | Front and back faces pattern VK_STENCIL_FACE_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | Alias for backwards compatibility pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp pattern VK_STENCIL_OP_KEEP :: VkStencilOp pattern VK_STENCIL_OP_ZERO :: VkStencilOp pattern VK_STENCIL_OP_REPLACE :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_INVERT :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask -- |
--   typedef struct VkStencilOpState {
--       VkStencilOp            failOp;
--       VkStencilOp            passOp;
--       VkStencilOp            depthFailOp;
--       VkCompareOp            compareOp;
--       uint32_t               compareMask;
--       uint32_t               writeMask;
--       uint32_t               reference;
--   } VkStencilOpState;
--   
-- -- VkStencilOpState registry at www.khronos.org type VkStencilOpState = VkStruct VkStencilOpState' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org type VkVertexInputAttributeDescription = VkStruct VkVertexInputAttributeDescription' -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org type VkVertexInputBindingDescription = VkStruct VkVertexInputBindingDescription' -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VkGetGeneratedCommandsMemoryRequirementsNV = "vkGetGeneratedCommandsMemoryRequirementsNV" pattern VkGetGeneratedCommandsMemoryRequirementsNV :: CString -- |
--   void vkGetGeneratedCommandsMemoryRequirementsNV
--       ( VkDevice device
--       , const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetGeneratedCommandsMemoryRequirementsNV registry at -- www.khronos.org type HS_vkGetGeneratedCommandsMemoryRequirementsNV = VkDevice " device" -> Ptr VkGeneratedCommandsMemoryRequirementsInfoNV " pInfo" -> Ptr VkMemoryRequirements2 " pMemoryRequirements" -> IO () type PFN_vkGetGeneratedCommandsMemoryRequirementsNV = FunPtr HS_vkGetGeneratedCommandsMemoryRequirementsNV type VkCmdPreprocessGeneratedCommandsNV = "vkCmdPreprocessGeneratedCommandsNV" pattern VkCmdPreprocessGeneratedCommandsNV :: CString -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdPreprocessGeneratedCommandsNV
--       ( VkCommandBuffer commandBuffer
--       , const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo
--       )
--   
-- -- vkCmdPreprocessGeneratedCommandsNV registry at www.khronos.org type HS_vkCmdPreprocessGeneratedCommandsNV = VkCommandBuffer " commandBuffer" -> Ptr VkGeneratedCommandsInfoNV " pGeneratedCommandsInfo" -> IO () type PFN_vkCmdPreprocessGeneratedCommandsNV = FunPtr HS_vkCmdPreprocessGeneratedCommandsNV type VkCmdExecuteGeneratedCommandsNV = "vkCmdExecuteGeneratedCommandsNV" pattern VkCmdExecuteGeneratedCommandsNV :: CString -- | Queues: graphics, compute. -- -- Renderpass: inside -- --
--   void vkCmdExecuteGeneratedCommandsNV
--       ( VkCommandBuffer commandBuffer
--       , VkBool32 isPreprocessed
--       , const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo
--       )
--   
-- -- vkCmdExecuteGeneratedCommandsNV registry at www.khronos.org type HS_vkCmdExecuteGeneratedCommandsNV = VkCommandBuffer " commandBuffer" -> VkBool32 " isPreprocessed" -> Ptr VkGeneratedCommandsInfoNV " pGeneratedCommandsInfo" -> IO () type PFN_vkCmdExecuteGeneratedCommandsNV = FunPtr HS_vkCmdExecuteGeneratedCommandsNV type VkCmdBindPipelineShaderGroupNV = "vkCmdBindPipelineShaderGroupNV" pattern VkCmdBindPipelineShaderGroupNV :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindPipelineShaderGroupNV
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipeline pipeline
--       , uint32_t groupIndex
--       )
--   
-- -- vkCmdBindPipelineShaderGroupNV registry at www.khronos.org type HS_vkCmdBindPipelineShaderGroupNV = VkCommandBuffer " commandBuffer" -> VkPipelineBindPoint " pipelineBindPoint" -> VkPipeline " pipeline" -> Word32 " groupIndex" -> IO () type PFN_vkCmdBindPipelineShaderGroupNV = FunPtr HS_vkCmdBindPipelineShaderGroupNV type VkCreateIndirectCommandsLayoutNV = "vkCreateIndirectCommandsLayoutNV" pattern VkCreateIndirectCommandsLayoutNV :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateIndirectCommandsLayoutNV
--       ( VkDevice device
--       , const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkIndirectCommandsLayoutNV* pIndirectCommandsLayout
--       )
--   
-- -- vkCreateIndirectCommandsLayoutNV registry at www.khronos.org type HS_vkCreateIndirectCommandsLayoutNV = VkDevice " device" -> Ptr VkIndirectCommandsLayoutCreateInfoNV " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkIndirectCommandsLayoutNV " pIndirectCommandsLayout" -> IO VkResult type PFN_vkCreateIndirectCommandsLayoutNV = FunPtr HS_vkCreateIndirectCommandsLayoutNV type VkDestroyIndirectCommandsLayoutNV = "vkDestroyIndirectCommandsLayoutNV" pattern VkDestroyIndirectCommandsLayoutNV :: CString -- |
--   void vkDestroyIndirectCommandsLayoutNV
--       ( VkDevice device
--       , VkIndirectCommandsLayoutNV indirectCommandsLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyIndirectCommandsLayoutNV registry at www.khronos.org type HS_vkDestroyIndirectCommandsLayoutNV = VkDevice " device" -> VkIndirectCommandsLayoutNV " indirectCommandsLayout" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyIndirectCommandsLayoutNV = FunPtr HS_vkDestroyIndirectCommandsLayoutNV -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' type VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3 pattern VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME = "VK_NV_device_generated_commands" pattern VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: VkStructureType -- | bitpos = 18 pattern VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV :: VkPipelineCreateBitmask a -- | bitpos = 17 pattern VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV :: VkPipelineStageBitmask a -- | bitpos = 17 pattern VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV :: VkAccessBitmask a -- | bitpos = 18 pattern VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV :: VkAccessBitmask a -- | VkIndirectCommandsLayoutNV pattern VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: VkObjectType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyIndirectCommandsLayoutNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateIndirectCommandsLayoutNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindPipelineShaderGroupNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdExecuteGeneratedCommandsNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPreprocessGeneratedCommandsNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetGeneratedCommandsMemoryRequirementsNV" module Graphics.Vulkan.Ext.VK_NV_coverage_reduction_mode -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkCoverageModulationModeNV registry at www.khronos.org newtype VkCoverageModulationModeNV VkCoverageModulationModeNV :: Int32 -> VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_NONE_NV :: VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_RGB_NV :: VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV :: VkCoverageModulationModeNV pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV :: VkCoverageModulationModeNV -- | type = enum -- -- VkCoverageReductionModeNV registry at www.khronos.org newtype VkCoverageReductionModeNV VkCoverageReductionModeNV :: Int32 -> VkCoverageReductionModeNV pattern VK_COVERAGE_REDUCTION_MODE_MERGE_NV :: VkCoverageReductionModeNV pattern VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: VkCoverageReductionModeNV newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkFramebufferMixedSamplesCombinationNV {
--       VkStructureType sType;
--       void*                      pNext;
--       VkCoverageReductionModeNV  coverageReductionMode;
--       VkSampleCountFlagBits      rasterizationSamples;
--       VkSampleCountFlags         depthStencilSamples;
--       VkSampleCountFlags         colorSamples;
--   } VkFramebufferMixedSamplesCombinationNV;
--   
-- -- VkFramebufferMixedSamplesCombinationNV registry at -- www.khronos.org type VkFramebufferMixedSamplesCombinationNV = VkStruct VkFramebufferMixedSamplesCombinationNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkPipelineCoverageReductionStateCreateFlagsNV      flags;
--       VkCoverageReductionModeNV                                          coverageReductionMode;
--   } VkPipelineCoverageReductionStateCreateInfoNV;
--   
-- -- VkPipelineCoverageReductionStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageReductionStateCreateInfoNV = VkStruct VkPipelineCoverageReductionStateCreateInfoNV' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" pattern VkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pCombinationCount
--       , VkFramebufferMixedSamplesCombinationNV* pCombinations
--       )
--   
-- -- vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV -- registry at www.khronos.org type HS_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pCombinationCount" -> Ptr VkFramebufferMixedSamplesCombinationNV " pCombinations" -> IO VkResult type PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = FunPtr HS_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkFramebufferAttachmentImageInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       VkImageCreateFlags       flags;
--       VkImageUsageFlags                        usage;
--       uint32_t                                 width;
--       uint32_t                                 height;
--       uint32_t                                 layerCount;
--       uint32_t                 viewFormatCount;
--       const VkFormat*    pViewFormats;
--   } VkFramebufferAttachmentImageInfo;
--   
-- -- VkFramebufferAttachmentImageInfo registry at www.khronos.org type VkFramebufferAttachmentImageInfo = VkStruct VkFramebufferAttachmentImageInfo' -- | Alias for VkFramebufferAttachmentImageInfo type VkFramebufferAttachmentImageInfoKHR = VkFramebufferAttachmentImageInfo -- |
--   typedef struct VkFramebufferAttachmentsCreateInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       uint32_t                 attachmentImageInfoCount;
--       const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
--   } VkFramebufferAttachmentsCreateInfo;
--   
-- -- VkFramebufferAttachmentsCreateInfo registry at www.khronos.org type VkFramebufferAttachmentsCreateInfo = VkStruct VkFramebufferAttachmentsCreateInfo' -- | Alias for VkFramebufferAttachmentsCreateInfo type VkFramebufferAttachmentsCreateInfoKHR = VkFramebufferAttachmentsCreateInfo -- |
--   typedef struct VkFramebufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFramebufferCreateFlags    flags;
--       VkRenderPass           renderPass;
--       uint32_t               attachmentCount;
--       const VkImageView*     pAttachments;
--       uint32_t               width;
--       uint32_t               height;
--       uint32_t               layers;
--   } VkFramebufferCreateInfo;
--   
-- -- VkFramebufferCreateInfo registry at www.khronos.org type VkFramebufferCreateInfo = VkStruct VkFramebufferCreateInfo' type VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION = 1 pattern VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME = "VK_NV_coverage_reduction_mode" pattern VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" module Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportWScalingStateCreateInfoNV = VkStruct VkPipelineViewportWScalingStateCreateInfoNV' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' -- |
--   typedef struct VkViewportWScalingNV {
--       float          xcoeff;
--       float          ycoeff;
--   } VkViewportWScalingNV;
--   
-- -- VkViewportWScalingNV registry at www.khronos.org type VkViewportWScalingNV = VkStruct VkViewportWScalingNV' type VkCmdSetViewportWScalingNV = "vkCmdSetViewportWScalingNV" pattern VkCmdSetViewportWScalingNV :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetViewportWScalingNV
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstViewport
--       , uint32_t viewportCount
--       , const VkViewportWScalingNV* pViewportWScalings
--       )
--   
-- -- vkCmdSetViewportWScalingNV registry at www.khronos.org type HS_vkCmdSetViewportWScalingNV = VkCommandBuffer " commandBuffer" -> Word32 " firstViewport" -> Word32 " viewportCount" -> Ptr VkViewportWScalingNV " pViewportWScalings" -> IO () type PFN_vkCmdSetViewportWScalingNV = FunPtr HS_vkCmdSetViewportWScalingNV type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org type VkViewportSwizzleNV = VkStruct VkViewportSwizzleNV' type VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1 pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME = "VK_NV_clip_space_w_scaling" pattern VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: VkStructureType pattern VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV :: VkDynamicState instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetViewportWScalingNV" module Graphics.Vulkan.Ext.VK_KHR_pipeline_executable_properties -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPipelineExecutableInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--       uint32_t           executableIndex;
--   } VkPipelineExecutableInfoKHR;
--   
-- -- VkPipelineExecutableInfoKHR registry at www.khronos.org type VkPipelineExecutableInfoKHR = VkStruct VkPipelineExecutableInfoKHR' -- |
--   typedef struct VkPipelineExecutableInternalRepresentationKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkBool32           isText;
--       size_t               dataSize;
--       void* pData;
--   } VkPipelineExecutableInternalRepresentationKHR;
--   
-- -- VkPipelineExecutableInternalRepresentationKHR registry at -- www.khronos.org type VkPipelineExecutableInternalRepresentationKHR = VkStruct VkPipelineExecutableInternalRepresentationKHR' -- |
--   typedef struct VkPipelineExecutablePropertiesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkShaderStageFlags stages;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       uint32_t           subgroupSize;
--   } VkPipelineExecutablePropertiesKHR;
--   
-- -- VkPipelineExecutablePropertiesKHR registry at www.khronos.org type VkPipelineExecutablePropertiesKHR = VkStruct VkPipelineExecutablePropertiesKHR' -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineExecutableStatisticKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkPipelineExecutableStatisticFormatKHR format;
--       VkPipelineExecutableStatisticValueKHR  value;
--   } VkPipelineExecutableStatisticKHR;
--   
-- -- VkPipelineExecutableStatisticKHR registry at www.khronos.org type VkPipelineExecutableStatisticKHR = VkStruct VkPipelineExecutableStatisticKHR' -- |
--   typedef union VkPipelineExecutableStatisticValueKHR {
--       VkBool32           b32;
--       int64_t            i64;
--       uint64_t           u64;
--       double             f64;
--   } VkPipelineExecutableStatisticValueKHR;
--   
-- -- VkPipelineExecutableStatisticValueKHR registry at -- www.khronos.org type VkPipelineExecutableStatisticValueKHR = VkStruct VkPipelineExecutableStatisticValueKHR' -- |
--   typedef struct VkPipelineInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--   } VkPipelineInfoKHR;
--   
-- -- VkPipelineInfoKHR registry at www.khronos.org type VkPipelineInfoKHR = VkStruct VkPipelineInfoKHR' -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkGetPipelineExecutablePropertiesKHR = "vkGetPipelineExecutablePropertiesKHR" pattern VkGetPipelineExecutablePropertiesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPipelineExecutablePropertiesKHR
--       ( VkDevice                        device
--       , const VkPipelineInfoKHR*        pPipelineInfo
--       , uint32_t* pExecutableCount
--       , VkPipelineExecutablePropertiesKHR* pProperties
--       )
--   
-- -- vkGetPipelineExecutablePropertiesKHR registry at -- www.khronos.org type HS_vkGetPipelineExecutablePropertiesKHR = VkDevice " device" -> Ptr VkPipelineInfoKHR " pPipelineInfo" -> Ptr Word32 " pExecutableCount" -> Ptr VkPipelineExecutablePropertiesKHR " pProperties" -> IO VkResult type PFN_vkGetPipelineExecutablePropertiesKHR = FunPtr HS_vkGetPipelineExecutablePropertiesKHR type VkGetPipelineExecutableStatisticsKHR = "vkGetPipelineExecutableStatisticsKHR" pattern VkGetPipelineExecutableStatisticsKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPipelineExecutableStatisticsKHR
--       ( VkDevice                        device
--       , const VkPipelineExecutableInfoKHR*  pExecutableInfo
--       , uint32_t* pStatisticCount
--       , VkPipelineExecutableStatisticKHR* pStatistics
--       )
--   
-- -- vkGetPipelineExecutableStatisticsKHR registry at -- www.khronos.org type HS_vkGetPipelineExecutableStatisticsKHR = VkDevice " device" -> Ptr VkPipelineExecutableInfoKHR " pExecutableInfo" -> Ptr Word32 " pStatisticCount" -> Ptr VkPipelineExecutableStatisticKHR " pStatistics" -> IO VkResult type PFN_vkGetPipelineExecutableStatisticsKHR = FunPtr HS_vkGetPipelineExecutableStatisticsKHR type VkGetPipelineExecutableInternalRepresentationsKHR = "vkGetPipelineExecutableInternalRepresentationsKHR" pattern VkGetPipelineExecutableInternalRepresentationsKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPipelineExecutableInternalRepresentationsKHR
--       ( VkDevice                        device
--       , const VkPipelineExecutableInfoKHR*  pExecutableInfo
--       , uint32_t* pInternalRepresentationCount
--       , VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations
--       )
--   
-- -- vkGetPipelineExecutableInternalRepresentationsKHR registry at -- www.khronos.org type HS_vkGetPipelineExecutableInternalRepresentationsKHR = VkDevice " device" -> Ptr VkPipelineExecutableInfoKHR " pExecutableInfo" -> Ptr Word32 " pInternalRepresentationCount" -> Ptr VkPipelineExecutableInternalRepresentationKHR " pInternalRepresentations" -> IO VkResult type PFN_vkGetPipelineExecutableInternalRepresentationsKHR = FunPtr HS_vkGetPipelineExecutableInternalRepresentationsKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org type VkPipelineCacheCreateInfo = VkStruct VkPipelineCacheCreateInfo' -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineColorBlendAdvancedStateCreateInfoEXT = VkStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- |
--   typedef struct VkPipelineCompilerControlCreateInfoAMD {
--       VkStructureType   sType;
--       const void*                                                                            pNext;
--       VkPipelineCompilerControlFlagsAMD                                      compilerControlFlags;
--   } VkPipelineCompilerControlCreateInfoAMD;
--   
-- -- VkPipelineCompilerControlCreateInfoAMD registry at -- www.khronos.org type VkPipelineCompilerControlCreateInfoAMD = VkStruct VkPipelineCompilerControlCreateInfoAMD' -- |
--   typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageModulationStateCreateFlagsNV                   flags;
--       VkCoverageModulationModeNV                                                       coverageModulationMode;
--       VkBool32                                                                         coverageModulationTableEnable;
--       uint32_t                                                         coverageModulationTableCount;
--       const float* pCoverageModulationTable;
--   } VkPipelineCoverageModulationStateCreateInfoNV;
--   
-- -- VkPipelineCoverageModulationStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageModulationStateCreateInfoNV = VkStruct VkPipelineCoverageModulationStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkPipelineCoverageReductionStateCreateFlagsNV      flags;
--       VkCoverageReductionModeNV                                          coverageReductionMode;
--   } VkPipelineCoverageReductionStateCreateInfoNV;
--   
-- -- VkPipelineCoverageReductionStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageReductionStateCreateInfoNV = VkStruct VkPipelineCoverageReductionStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageToColorStateCreateInfoNV = VkStruct VkPipelineCoverageToColorStateCreateInfoNV' -- |
--   typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPipelineCreationFeedbackEXT*      pPipelineCreationFeedback;
--       uint32_t                            pipelineStageCreationFeedbackCount;
--       VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
--   } VkPipelineCreationFeedbackCreateInfoEXT;
--   
-- -- VkPipelineCreationFeedbackCreateInfoEXT registry at -- www.khronos.org type VkPipelineCreationFeedbackCreateInfoEXT = VkStruct VkPipelineCreationFeedbackCreateInfoEXT' -- |
--   typedef struct VkPipelineCreationFeedbackEXT {
--       VkPipelineCreationFeedbackFlagsEXT  flags;
--       uint64_t                            duration;
--   } VkPipelineCreationFeedbackEXT;
--   
-- -- VkPipelineCreationFeedbackEXT registry at www.khronos.org type VkPipelineCreationFeedbackEXT = VkStruct VkPipelineCreationFeedbackEXT' -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       VkPipelineDiscardRectangleStateCreateFlagsEXT     flags;
--       VkDiscardRectangleModeEXT                                         discardRectangleMode;
--       uint32_t                                          discardRectangleCount;
--       const VkRect2D* pDiscardRectangles;
--   } VkPipelineDiscardRectangleStateCreateInfoEXT;
--   
-- -- VkPipelineDiscardRectangleStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineDiscardRectangleStateCreateInfoEXT = VkStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineLayoutCreateFlags    flags;
--       uint32_t               setLayoutCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--       uint32_t               pushConstantRangeCount;
--       const VkPushConstantRange* pPushConstantRanges;
--   } VkPipelineLayoutCreateInfo;
--   
-- -- VkPipelineLayoutCreateInfo registry at www.khronos.org type VkPipelineLayoutCreateInfo = VkStruct VkPipelineLayoutCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationConservativeStateCreateInfoEXT = VkStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                 pNext;
--       VkPipelineRasterizationDepthClipStateCreateFlagsEXT         flags;
--       VkBool32                                                                    depthClipEnable;
--   } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationDepthClipStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationDepthClipStateCreateInfoEXT = VkStruct VkPipelineRasterizationDepthClipStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                      pNext;
--       VkLineRasterizationModeEXT                                       lineRasterizationMode;
--       VkBool32                                                         stippledLineEnable;
--       uint32_t                                         lineStippleFactor;
--       uint16_t                                         lineStipplePattern;
--   } VkPipelineRasterizationLineStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationLineStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationLineStateCreateInfoEXT = VkStruct VkPipelineRasterizationLineStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org type VkPipelineRasterizationStateRasterizationOrderAMD = VkStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- |
--   typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationStateStreamCreateFlagsEXT                 flags;
--       uint32_t                                                                         rasterizationStream;
--   } VkPipelineRasterizationStateStreamCreateInfoEXT;
--   
-- -- VkPipelineRasterizationStateStreamCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationStateStreamCreateInfoEXT = VkStruct VkPipelineRasterizationStateStreamCreateInfoEXT' -- |
--   typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       representativeFragmentTestEnable;
--   } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
--   
-- -- VkPipelineRepresentativeFragmentTestStateCreateInfoNV registry at -- www.khronos.org type VkPipelineRepresentativeFragmentTestStateCreateInfoNV = VkStruct VkPipelineRepresentativeFragmentTestStateCreateInfoNV' -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineSampleLocationsStateCreateInfoEXT = VkStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               requiredSubgroupSize;
--   } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
--   
-- -- VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT registry at -- www.khronos.org type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkStruct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationDomainOriginStateCreateInfo = VkStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- | Alias for VkPipelineTessellationDomainOriginStateCreateInfo type VkPipelineTessellationDomainOriginStateCreateInfoKHR = VkPipelineTessellationDomainOriginStateCreateInfo -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineVertexInputDivisorStateCreateInfoEXT = VkStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                            pNext;
--       VkCoarseSampleOrderTypeNV                                              sampleOrderType;
--       uint32_t                                               customSampleOrderCount;
--       const VkCoarseSampleOrderCustomNV*        pCustomSampleOrders;
--   } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
--   
-- -- VkPipelineViewportCoarseSampleOrderStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = VkStruct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       uint32_t                                          exclusiveScissorCount;
--       const VkRect2D* pExclusiveScissors;
--   } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
--   
-- -- VkPipelineViewportExclusiveScissorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportExclusiveScissorStateCreateInfoNV = VkStruct VkPipelineViewportExclusiveScissorStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                             pNext;
--       VkBool32                                                                shadingRateImageEnable;
--       uint32_t                                                viewportCount;
--       const VkShadingRatePaletteNV* pShadingRatePalettes;
--   } VkPipelineViewportShadingRateImageStateCreateInfoNV;
--   
-- -- VkPipelineViewportShadingRateImageStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportShadingRateImageStateCreateInfoNV = VkStruct VkPipelineViewportShadingRateImageStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportSwizzleStateCreateInfoNV = VkStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportWScalingStateCreateInfoNV = VkStruct VkPipelineViewportWScalingStateCreateInfoNV' type VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 pattern VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" pattern VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: VkStructureType -- | bitpos = 6 pattern VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR :: VkPipelineCreateBitmask a -- | bitpos = 7 pattern VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: VkPipelineCreateBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPipelineExecutableInternalRepresentationsKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPipelineExecutableStatisticsKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPipelineExecutablePropertiesKHR" module Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineVertexInputDivisorStateCreateInfoEXT = VkStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org type VkVertexInputAttributeDescription = VkStruct VkVertexInputAttributeDescription' -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org type VkVertexInputBindingDescription = VkStruct VkVertexInputBindingDescription' -- |
--   typedef struct VkVertexInputBindingDivisorDescriptionEXT {
--       uint32_t          binding;
--       uint32_t          divisor;
--   } VkVertexInputBindingDivisorDescriptionEXT;
--   
-- -- VkVertexInputBindingDivisorDescriptionEXT registry at -- www.khronos.org type VkVertexInputBindingDivisorDescriptionEXT = VkStruct VkVertexInputBindingDivisorDescriptionEXT' -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate type VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 3 pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME = "VK_EXT_vertex_attribute_divisor" pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_transform_feedback -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationStateStreamCreateFlagsEXT                 flags;
--       uint32_t                                                                         rasterizationStream;
--   } VkPipelineRasterizationStateStreamCreateInfoEXT;
--   
-- -- VkPipelineRasterizationStateStreamCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationStateStreamCreateInfoEXT = VkStruct VkPipelineRasterizationStateStreamCreateInfoEXT' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCmdBindTransformFeedbackBuffersEXT = "vkCmdBindTransformFeedbackBuffersEXT" pattern VkCmdBindTransformFeedbackBuffersEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindTransformFeedbackBuffersEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstBinding
--       , uint32_t bindingCount
--       , const VkBuffer* pBuffers
--       , const VkDeviceSize* pOffsets
--       , const VkDeviceSize* pSizes
--       )
--   
-- -- vkCmdBindTransformFeedbackBuffersEXT registry at -- www.khronos.org type HS_vkCmdBindTransformFeedbackBuffersEXT = VkCommandBuffer " commandBuffer" -> Word32 " firstBinding" -> Word32 " bindingCount" -> Ptr VkBuffer " pBuffers" -> Ptr VkDeviceSize " pOffsets" -> Ptr VkDeviceSize " pSizes" -> IO () type PFN_vkCmdBindTransformFeedbackBuffersEXT = FunPtr HS_vkCmdBindTransformFeedbackBuffersEXT type VkCmdBeginTransformFeedbackEXT = "vkCmdBeginTransformFeedbackEXT" pattern VkCmdBeginTransformFeedbackEXT :: CString -- | Queues: graphics. -- -- Renderpass: inside -- --
--   void vkCmdBeginTransformFeedbackEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstCounterBuffer
--       , uint32_t counterBufferCount
--       , const VkBuffer* pCounterBuffers
--       , const VkDeviceSize* pCounterBufferOffsets
--       )
--   
-- -- vkCmdBeginTransformFeedbackEXT registry at www.khronos.org type HS_vkCmdBeginTransformFeedbackEXT = VkCommandBuffer " commandBuffer" -> Word32 " firstCounterBuffer" -> Word32 " counterBufferCount" -> Ptr VkBuffer " pCounterBuffers" -> Ptr VkDeviceSize " pCounterBufferOffsets" -> IO () type PFN_vkCmdBeginTransformFeedbackEXT = FunPtr HS_vkCmdBeginTransformFeedbackEXT type VkCmdEndTransformFeedbackEXT = "vkCmdEndTransformFeedbackEXT" pattern VkCmdEndTransformFeedbackEXT :: CString -- | Queues: graphics. -- -- Renderpass: inside -- --
--   void vkCmdEndTransformFeedbackEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstCounterBuffer
--       , uint32_t counterBufferCount
--       , const VkBuffer* pCounterBuffers
--       , const VkDeviceSize* pCounterBufferOffsets
--       )
--   
-- -- vkCmdEndTransformFeedbackEXT registry at www.khronos.org type HS_vkCmdEndTransformFeedbackEXT = VkCommandBuffer " commandBuffer" -> Word32 " firstCounterBuffer" -> Word32 " counterBufferCount" -> Ptr VkBuffer " pCounterBuffers" -> Ptr VkDeviceSize " pCounterBufferOffsets" -> IO () type PFN_vkCmdEndTransformFeedbackEXT = FunPtr HS_vkCmdEndTransformFeedbackEXT type VkCmdBeginQueryIndexedEXT = "vkCmdBeginQueryIndexedEXT" pattern VkCmdBeginQueryIndexedEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBeginQueryIndexedEXT
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       , VkQueryControlFlags flags
--       , uint32_t index
--       )
--   
-- -- vkCmdBeginQueryIndexedEXT registry at www.khronos.org type HS_vkCmdBeginQueryIndexedEXT = VkCommandBuffer " commandBuffer" -> VkQueryPool " queryPool" -> Word32 " query" -> VkQueryControlFlags " flags" -> Word32 " index" -> IO () type PFN_vkCmdBeginQueryIndexedEXT = FunPtr HS_vkCmdBeginQueryIndexedEXT type VkCmdEndQueryIndexedEXT = "vkCmdEndQueryIndexedEXT" pattern VkCmdEndQueryIndexedEXT :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdEndQueryIndexedEXT
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       , uint32_t index
--       )
--   
-- -- vkCmdEndQueryIndexedEXT registry at www.khronos.org type HS_vkCmdEndQueryIndexedEXT = VkCommandBuffer " commandBuffer" -> VkQueryPool " queryPool" -> Word32 " query" -> Word32 " index" -> IO () type PFN_vkCmdEndQueryIndexedEXT = FunPtr HS_vkCmdEndQueryIndexedEXT type VkCmdDrawIndirectByteCountEXT = "vkCmdDrawIndirectByteCountEXT" pattern VkCmdDrawIndirectByteCountEXT :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirectByteCountEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t instanceCount
--       , uint32_t firstInstance
--       , VkBuffer counterBuffer
--       , VkDeviceSize counterBufferOffset
--       , uint32_t counterOffset
--       , uint32_t vertexStride
--       )
--   
-- -- vkCmdDrawIndirectByteCountEXT registry at www.khronos.org type HS_vkCmdDrawIndirectByteCountEXT = VkCommandBuffer " commandBuffer" -> Word32 " instanceCount" -> Word32 " firstInstance" -> VkBuffer " counterBuffer" -> VkDeviceSize " counterBufferOffset" -> Word32 " counterOffset" -> Word32 " vertexStride" -> IO () type PFN_vkCmdDrawIndirectByteCountEXT = FunPtr HS_vkCmdDrawIndirectByteCountEXT newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 pattern VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" pattern VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: VkStructureType pattern VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT :: VkQueryType -- | bitpos = 11 pattern VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT :: VkBufferUsageBitmask a -- | bitpos = 12 pattern VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT :: VkBufferUsageBitmask a -- | bitpos = 25 pattern VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: VkAccessBitmask a -- | bitpos = 26 pattern VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: VkAccessBitmask a -- | bitpos = 27 pattern VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: VkAccessBitmask a -- | bitpos = 24 pattern VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT :: VkPipelineStageBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirectByteCountEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndQueryIndexedEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginQueryIndexedEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndTransformFeedbackEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginTransformFeedbackEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindTransformFeedbackBuffersEXT" module Graphics.Vulkan.Ext.VK_EXT_subgroup_size_control -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               requiredSubgroupSize;
--   } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
--   
-- -- VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT registry at -- www.khronos.org type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkStruct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION = 2 pattern VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME = "VK_EXT_subgroup_size_control" pattern VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: VkStructureType -- | bitpos = 0 pattern VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT :: VkPipelineShaderStageCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT :: VkPipelineShaderStageCreateBitmask a module Graphics.Vulkan.Ext.VK_EXT_sample_locations newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask (a :: FlagType) pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask -- | Controls coherency of indirect command reads -- -- bitpos = 0 pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a -- | Controls coherency of index reads -- -- bitpos = 1 pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a -- | Controls coherency of input attachment reads -- -- bitpos = 4 pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader reads -- -- bitpos = 5 pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader writes -- -- bitpos = 6 pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment reads -- -- bitpos = 7 pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment writes -- -- bitpos = 8 pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of transfer reads -- -- bitpos = 11 pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of transfer writes -- -- bitpos = 12 pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of host reads -- -- bitpos = 13 pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a -- | Controls coherency of host writes -- -- bitpos = 14 pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of memory reads -- -- bitpos = 15 pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a -- | Controls coherency of memory writes -- -- bitpos = 16 pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a type VkAccessFlagBits = VkAccessBitmask FlagBit type VkAccessFlags = VkAccessBitmask FlagMask -- |
--   typedef struct VkAttachmentSampleLocationsEXT {
--       uint32_t                         attachmentIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkAttachmentSampleLocationsEXT;
--   
-- -- VkAttachmentSampleLocationsEXT registry at www.khronos.org type VkAttachmentSampleLocationsEXT = VkStruct VkAttachmentSampleLocationsEXT' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. -- --
--   typedef union VkClearColorValue {
--       float                  float32[4];
--       int32_t                int32[4];
--       uint32_t               uint32[4];
--   } VkClearColorValue;
--   
-- -- VkClearColorValue registry at www.khronos.org type VkClearColorValue = VkStruct VkClearColorValue' -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org type VkClearDepthStencilValue = VkStruct VkClearDepthStencilValue' -- | // Union allowing specification of color or depth and stencil values. -- Actual value selected is based on attachment being cleared. -- --
--   typedef union VkClearValue {
--       VkClearColorValue      color;
--       VkClearDepthStencilValue depthStencil;
--   } VkClearValue;
--   
-- -- VkClearValue registry at www.khronos.org type VkClearValue = VkStruct VkClearValue' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkMultisamplePropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       maxSampleLocationGridSize;
--   } VkMultisamplePropertiesEXT;
--   
-- -- VkMultisamplePropertiesEXT registry at www.khronos.org type VkMultisamplePropertiesEXT = VkStruct VkMultisamplePropertiesEXT' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineSampleLocationsStateCreateInfoEXT = VkStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- |
--   typedef struct VkRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass           renderPass;
--       VkFramebuffer          framebuffer;
--       VkRect2D               renderArea;
--       uint32_t               clearValueCount;
--       const VkClearValue*    pClearValues;
--   } VkRenderPassBeginInfo;
--   
-- -- VkRenderPassBeginInfo registry at www.khronos.org type VkRenderPassBeginInfo = VkStruct VkRenderPassBeginInfo' -- |
--   typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         attachmentInitialSampleLocationsCount;
--       const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
--       uint32_t         postSubpassSampleLocationsCount;
--       const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
--   } VkRenderPassSampleLocationsBeginInfoEXT;
--   
-- -- VkRenderPassSampleLocationsBeginInfoEXT registry at -- www.khronos.org type VkRenderPassSampleLocationsBeginInfoEXT = VkStruct VkRenderPassSampleLocationsBeginInfoEXT' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- |
--   typedef struct VkSampleLocationEXT {
--       float                            x;
--       float                            y;
--   } VkSampleLocationEXT;
--   
-- -- VkSampleLocationEXT registry at www.khronos.org type VkSampleLocationEXT = VkStruct VkSampleLocationEXT' -- |
--   typedef struct VkSampleLocationsInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkSampleCountFlagBits  sampleLocationsPerPixel;
--       VkExtent2D                             sampleLocationGridSize;
--       uint32_t               sampleLocationsCount;
--       const VkSampleLocationEXT* pSampleLocations;
--   } VkSampleLocationsInfoEXT;
--   
-- -- VkSampleLocationsInfoEXT registry at www.khronos.org type VkSampleLocationsInfoEXT = VkStruct VkSampleLocationsInfoEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkSubpassSampleLocationsEXT {
--       uint32_t                         subpassIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkSubpassSampleLocationsEXT;
--   
-- -- VkSubpassSampleLocationsEXT registry at www.khronos.org type VkSubpassSampleLocationsEXT = VkStruct VkSubpassSampleLocationsEXT' type VkCmdSetSampleLocationsEXT = "vkCmdSetSampleLocationsEXT" pattern VkCmdSetSampleLocationsEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetSampleLocationsEXT
--       ( VkCommandBuffer commandBuffer
--       , const VkSampleLocationsInfoEXT* pSampleLocationsInfo
--       )
--   
-- -- vkCmdSetSampleLocationsEXT registry at www.khronos.org type HS_vkCmdSetSampleLocationsEXT = VkCommandBuffer " commandBuffer" -> Ptr VkSampleLocationsInfoEXT " pSampleLocationsInfo" -> IO () type PFN_vkCmdSetSampleLocationsEXT = FunPtr HS_vkCmdSetSampleLocationsEXT type VkGetPhysicalDeviceMultisamplePropertiesEXT = "vkGetPhysicalDeviceMultisamplePropertiesEXT" pattern VkGetPhysicalDeviceMultisamplePropertiesEXT :: CString -- |
--   void vkGetPhysicalDeviceMultisamplePropertiesEXT
--       ( VkPhysicalDevice physicalDevice
--       , VkSampleCountFlagBits samples
--       , VkMultisamplePropertiesEXT* pMultisampleProperties
--       )
--   
-- -- vkGetPhysicalDeviceMultisamplePropertiesEXT registry at -- www.khronos.org type HS_vkGetPhysicalDeviceMultisamplePropertiesEXT = VkPhysicalDevice " physicalDevice" -> VkSampleCountFlagBits " samples" -> Ptr VkMultisamplePropertiesEXT " pMultisampleProperties" -> IO () type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT = FunPtr HS_vkGetPhysicalDeviceMultisamplePropertiesEXT type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo type VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1 pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations" pattern VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: CString -- | bitpos = 12 pattern VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT :: VkImageCreateBitmask a pattern VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: VkStructureType pattern VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT :: VkDynamicState instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMultisamplePropertiesEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetSampleLocationsEXT" module Graphics.Vulkan.Ext.VK_EXT_line_rasterization -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- | type = enum -- -- VkLineRasterizationModeEXT registry at www.khronos.org newtype VkLineRasterizationModeEXT VkLineRasterizationModeEXT :: Int32 -> VkLineRasterizationModeEXT pattern VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT :: VkLineRasterizationModeEXT pattern VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT :: VkLineRasterizationModeEXT pattern VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT :: VkLineRasterizationModeEXT pattern VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT :: VkLineRasterizationModeEXT -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                      pNext;
--       VkLineRasterizationModeEXT                                       lineRasterizationMode;
--       VkBool32                                                         stippledLineEnable;
--       uint32_t                                         lineStippleFactor;
--       uint16_t                                         lineStipplePattern;
--   } VkPipelineRasterizationLineStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationLineStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationLineStateCreateInfoEXT = VkStruct VkPipelineRasterizationLineStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCmdSetLineStippleEXT = "vkCmdSetLineStippleEXT" pattern VkCmdSetLineStippleEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetLineStippleEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t lineStippleFactor
--       , uint16_t lineStipplePattern
--       )
--   
-- -- vkCmdSetLineStippleEXT registry at www.khronos.org type HS_vkCmdSetLineStippleEXT = VkCommandBuffer " commandBuffer" -> Word32 " lineStippleFactor" -> Word16 " lineStipplePattern" -> IO () type PFN_vkCmdSetLineStippleEXT = FunPtr HS_vkCmdSetLineStippleEXT type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_EXT_LINE_RASTERIZATION_SPEC_VERSION = 1 pattern VK_EXT_LINE_RASTERIZATION_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_line_rasterization" pattern VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: VkStructureType pattern VK_DYNAMIC_STATE_LINE_STIPPLE_EXT :: VkDynamicState instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetLineStippleEXT" module Graphics.Vulkan.Ext.VK_EXT_discard_rectangles -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp pattern VK_BLEND_OP_ADD :: VkBlendOp pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_MIN :: VkBlendOp pattern VK_BLEND_OP_MAX :: VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask -- | type = enum -- -- VkDiscardRectangleModeEXT registry at www.khronos.org newtype VkDiscardRectangleModeEXT VkDiscardRectangleModeEXT :: Int32 -> VkDiscardRectangleModeEXT pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT :: VkDiscardRectangleModeEXT pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT :: VkDiscardRectangleModeEXT -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp pattern VK_LOGIC_OP_CLEAR :: VkLogicOp pattern VK_LOGIC_OP_AND :: VkLogicOp pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY :: VkLogicOp pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NO_OP :: VkLogicOp pattern VK_LOGIC_OP_XOR :: VkLogicOp pattern VK_LOGIC_OP_OR :: VkLogicOp pattern VK_LOGIC_OP_NOR :: VkLogicOp pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp pattern VK_LOGIC_OP_INVERT :: VkLogicOp pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NAND :: VkLogicOp pattern VK_LOGIC_OP_SET :: VkLogicOp -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       VkPipelineDiscardRectangleStateCreateFlagsEXT     flags;
--       VkDiscardRectangleModeEXT                                         discardRectangleMode;
--       uint32_t                                          discardRectangleCount;
--       const VkRect2D* pDiscardRectangles;
--   } VkPipelineDiscardRectangleStateCreateInfoEXT;
--   
-- -- VkPipelineDiscardRectangleStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineDiscardRectangleStateCreateInfoEXT = VkStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask (a :: FlagType) pattern VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceBitmask FlagBit pattern VkStencilFaceFlags :: VkFlags -> VkStencilFaceBitmask FlagMask -- | Front face -- -- bitpos = 0 pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a -- | Back face -- -- bitpos = 1 pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a -- | Front and back faces pattern VK_STENCIL_FACE_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | Alias for backwards compatibility pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp pattern VK_STENCIL_OP_KEEP :: VkStencilOp pattern VK_STENCIL_OP_ZERO :: VkStencilOp pattern VK_STENCIL_OP_REPLACE :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_INVERT :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask -- |
--   typedef struct VkStencilOpState {
--       VkStencilOp            failOp;
--       VkStencilOp            passOp;
--       VkStencilOp            depthFailOp;
--       VkCompareOp            compareOp;
--       uint32_t               compareMask;
--       uint32_t               writeMask;
--       uint32_t               reference;
--   } VkStencilOpState;
--   
-- -- VkStencilOpState registry at www.khronos.org type VkStencilOpState = VkStruct VkStencilOpState' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org type VkVertexInputAttributeDescription = VkStruct VkVertexInputAttributeDescription' -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org type VkVertexInputBindingDescription = VkStruct VkVertexInputBindingDescription' -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VkCmdSetDiscardRectangleEXT = "vkCmdSetDiscardRectangleEXT" pattern VkCmdSetDiscardRectangleEXT :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDiscardRectangleEXT
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstDiscardRectangle
--       , uint32_t discardRectangleCount
--       , const VkRect2D* pDiscardRectangles
--       )
--   
-- -- vkCmdSetDiscardRectangleEXT registry at www.khronos.org type HS_vkCmdSetDiscardRectangleEXT = VkCommandBuffer " commandBuffer" -> Word32 " firstDiscardRectangle" -> Word32 " discardRectangleCount" -> Ptr VkRect2D " pDiscardRectangles" -> IO () type PFN_vkCmdSetDiscardRectangleEXT = FunPtr HS_vkCmdSetDiscardRectangleEXT type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' type VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1 pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles" pattern VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: VkStructureType pattern VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT :: VkDynamicState instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDiscardRectangleEXT" module Graphics.Vulkan.Ext.VK_EXT_depth_clip_enable -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                 pNext;
--       VkPipelineRasterizationDepthClipStateCreateFlagsEXT         flags;
--       VkBool32                                                                    depthClipEnable;
--   } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationDepthClipStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationDepthClipStateCreateInfoEXT = VkStruct VkPipelineRasterizationDepthClipStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION = 1 pattern VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME = "VK_EXT_depth_clip_enable" pattern VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_conservative_rasterization -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkConservativeRasterizationModeEXT registry at www.khronos.org newtype VkConservativeRasterizationModeEXT VkConservativeRasterizationModeEXT :: Int32 -> VkConservativeRasterizationModeEXT pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: VkConservativeRasterizationModeEXT pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: VkConservativeRasterizationModeEXT pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: VkConservativeRasterizationModeEXT newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationConservativeStateCreateInfoEXT = VkStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1 pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_conservative_rasterization" pattern VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_blend_operation_advanced -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp pattern VK_BLEND_OP_ADD :: VkBlendOp pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_MIN :: VkBlendOp pattern VK_BLEND_OP_MAX :: VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp pattern VK_LOGIC_OP_CLEAR :: VkLogicOp pattern VK_LOGIC_OP_AND :: VkLogicOp pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY :: VkLogicOp pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NO_OP :: VkLogicOp pattern VK_LOGIC_OP_XOR :: VkLogicOp pattern VK_LOGIC_OP_OR :: VkLogicOp pattern VK_LOGIC_OP_NOR :: VkLogicOp pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp pattern VK_LOGIC_OP_INVERT :: VkLogicOp pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NAND :: VkLogicOp pattern VK_LOGIC_OP_SET :: VkLogicOp -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineColorBlendAdvancedStateCreateInfoEXT = VkStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2 pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = "VK_EXT_blend_operation_advanced" pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: VkStructureType pattern VK_BLEND_OP_ZERO_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_OVER_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_OVER_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_IN_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_IN_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_OUT_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_OUT_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_ATOP_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_ATOP_EXT :: VkBlendOp pattern VK_BLEND_OP_XOR_EXT :: VkBlendOp pattern VK_BLEND_OP_MULTIPLY_EXT :: VkBlendOp pattern VK_BLEND_OP_SCREEN_EXT :: VkBlendOp pattern VK_BLEND_OP_OVERLAY_EXT :: VkBlendOp pattern VK_BLEND_OP_DARKEN_EXT :: VkBlendOp pattern VK_BLEND_OP_LIGHTEN_EXT :: VkBlendOp pattern VK_BLEND_OP_COLORDODGE_EXT :: VkBlendOp pattern VK_BLEND_OP_COLORBURN_EXT :: VkBlendOp pattern VK_BLEND_OP_HARDLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_SOFTLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_DIFFERENCE_EXT :: VkBlendOp pattern VK_BLEND_OP_EXCLUSION_EXT :: VkBlendOp pattern VK_BLEND_OP_INVERT_EXT :: VkBlendOp pattern VK_BLEND_OP_INVERT_RGB_EXT :: VkBlendOp pattern VK_BLEND_OP_LINEARDODGE_EXT :: VkBlendOp pattern VK_BLEND_OP_LINEARBURN_EXT :: VkBlendOp pattern VK_BLEND_OP_VIVIDLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_LINEARLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_PINLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_HARDMIX_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_HUE_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_SATURATION_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_COLOR_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_CLAMPED_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_DARKER_EXT :: VkBlendOp pattern VK_BLEND_OP_MINUS_EXT :: VkBlendOp pattern VK_BLEND_OP_MINUS_CLAMPED_EXT :: VkBlendOp pattern VK_BLEND_OP_CONTRAST_EXT :: VkBlendOp pattern VK_BLEND_OP_INVERT_OVG_EXT :: VkBlendOp pattern VK_BLEND_OP_RED_EXT :: VkBlendOp pattern VK_BLEND_OP_GREEN_EXT :: VkBlendOp pattern VK_BLEND_OP_BLUE_EXT :: VkBlendOp -- | bitpos = 19 pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: VkAccessBitmask a module Graphics.Vulkan.Ext.VK_AMD_rasterization_order -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org type VkPipelineRasterizationStateRasterizationOrderAMD = VkStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | type = enum -- -- VkRasterizationOrderAMD registry at www.khronos.org newtype VkRasterizationOrderAMD VkRasterizationOrderAMD :: Int32 -> VkRasterizationOrderAMD pattern VK_RASTERIZATION_ORDER_STRICT_AMD :: VkRasterizationOrderAMD pattern VK_RASTERIZATION_ORDER_RELAXED_AMD :: VkRasterizationOrderAMD -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1 pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME = "VK_AMD_rasterization_order" pattern VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: VkStructureType module Graphics.Vulkan.Ext.VK_AMD_pipeline_compiler_control -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp pattern VK_BLEND_OP_ADD :: VkBlendOp pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_MIN :: VkBlendOp pattern VK_BLEND_OP_MAX :: VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp -- |
--   typedef struct VkComputePipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       VkPipelineShaderStageCreateInfo stage;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkComputePipelineCreateInfo;
--   
-- -- VkComputePipelineCreateInfo registry at www.khronos.org type VkComputePipelineCreateInfo = VkStruct VkComputePipelineCreateInfo' newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp pattern VK_LOGIC_OP_CLEAR :: VkLogicOp pattern VK_LOGIC_OP_AND :: VkLogicOp pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY :: VkLogicOp pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NO_OP :: VkLogicOp pattern VK_LOGIC_OP_XOR :: VkLogicOp pattern VK_LOGIC_OP_OR :: VkLogicOp pattern VK_LOGIC_OP_NOR :: VkLogicOp pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp pattern VK_LOGIC_OP_INVERT :: VkLogicOp pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NAND :: VkLogicOp pattern VK_LOGIC_OP_SET :: VkLogicOp -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- |
--   typedef struct VkPipelineCompilerControlCreateInfoAMD {
--       VkStructureType   sType;
--       const void*                                                                            pNext;
--       VkPipelineCompilerControlFlagsAMD                                      compilerControlFlags;
--   } VkPipelineCompilerControlCreateInfoAMD;
--   
-- -- VkPipelineCompilerControlCreateInfoAMD registry at -- www.khronos.org type VkPipelineCompilerControlCreateInfoAMD = VkStruct VkPipelineCompilerControlCreateInfoAMD' -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask (a :: FlagType) pattern VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceBitmask FlagBit pattern VkStencilFaceFlags :: VkFlags -> VkStencilFaceBitmask FlagMask -- | Front face -- -- bitpos = 0 pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a -- | Back face -- -- bitpos = 1 pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a -- | Front and back faces pattern VK_STENCIL_FACE_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | Alias for backwards compatibility pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp pattern VK_STENCIL_OP_KEEP :: VkStencilOp pattern VK_STENCIL_OP_ZERO :: VkStencilOp pattern VK_STENCIL_OP_REPLACE :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_INVERT :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask -- |
--   typedef struct VkStencilOpState {
--       VkStencilOp            failOp;
--       VkStencilOp            passOp;
--       VkStencilOp            depthFailOp;
--       VkCompareOp            compareOp;
--       uint32_t               compareMask;
--       uint32_t               writeMask;
--       uint32_t               reference;
--   } VkStencilOpState;
--   
-- -- VkStencilOpState registry at www.khronos.org type VkStencilOpState = VkStruct VkStencilOpState' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org type VkVertexInputAttributeDescription = VkStruct VkVertexInputAttributeDescription' -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org type VkVertexInputBindingDescription = VkStruct VkVertexInputBindingDescription' -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION = 1 pattern VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a type VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME = "VK_AMD_pipeline_compiler_control" pattern VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: VkStructureType module Graphics.Vulkan.Core_1_1 type VkEnumerateInstanceVersion = "vkEnumerateInstanceVersion" pattern VkEnumerateInstanceVersion :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkEnumerateInstanceVersion
--       ( uint32_t* pApiVersion
--       )
--   
-- -- vkEnumerateInstanceVersion registry at www.khronos.org type HS_vkEnumerateInstanceVersion = Ptr Word32 " pApiVersion" -> IO VkResult type PFN_vkEnumerateInstanceVersion = FunPtr HS_vkEnumerateInstanceVersion -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkEnumerateInstanceVersion
--       ( uint32_t* pApiVersion
--       )
--   
-- -- vkEnumerateInstanceVersion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion
--   
-- -- Note: vkEnumerateInstanceVersionUnsafe and -- vkEnumerateInstanceVersionSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEnumerateInstanceVersion is an alias of -- vkEnumerateInstanceVersionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateInstanceVersionSafe. vkEnumerateInstanceVersion :: Ptr Word32 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkEnumerateInstanceVersion
--       ( uint32_t* pApiVersion
--       )
--   
-- -- vkEnumerateInstanceVersion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion
--   
-- -- Note: vkEnumerateInstanceVersionUnsafe and -- vkEnumerateInstanceVersionSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEnumerateInstanceVersion is an alias of -- vkEnumerateInstanceVersionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateInstanceVersionSafe. vkEnumerateInstanceVersionUnsafe :: Ptr Word32 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkEnumerateInstanceVersion
--       ( uint32_t* pApiVersion
--       )
--   
-- -- vkEnumerateInstanceVersion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion
--   
-- -- Note: vkEnumerateInstanceVersionUnsafe and -- vkEnumerateInstanceVersionSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEnumerateInstanceVersion is an alias of -- vkEnumerateInstanceVersionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateInstanceVersionSafe. vkEnumerateInstanceVersionSafe :: Ptr Word32 -> IO VkResult -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkSubgroupFeatureBitmask (a :: FlagType) VkSubgroupFeatureBitmask :: VkFlags -> VkSubgroupFeatureBitmask (a :: FlagType) pattern VkSubgroupFeatureFlagBits :: VkFlags -> VkSubgroupFeatureBitmask FlagBit pattern VkSubgroupFeatureFlags :: VkFlags -> VkSubgroupFeatureBitmask FlagMask -- | Basic subgroup operations -- -- bitpos = 0 pattern VK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureBitmask a -- | Vote subgroup operations -- -- bitpos = 1 pattern VK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureBitmask a -- | Arithmetic subgroup operations -- -- bitpos = 2 pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT :: VkSubgroupFeatureBitmask a -- | Ballot subgroup operations -- -- bitpos = 3 pattern VK_SUBGROUP_FEATURE_BALLOT_BIT :: VkSubgroupFeatureBitmask a -- | Shuffle subgroup operations -- -- bitpos = 4 pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT :: VkSubgroupFeatureBitmask a -- | Shuffle relative subgroup operations -- -- bitpos = 5 pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT :: VkSubgroupFeatureBitmask a -- | Clustered subgroup operations -- -- bitpos = 6 pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT :: VkSubgroupFeatureBitmask a -- | Quad subgroup operations -- -- bitpos = 7 pattern VK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureBitmask a type VkSubgroupFeatureFlagBits = VkSubgroupFeatureBitmask FlagBit type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: VkStructureType -- |
--   typedef struct VkBindBufferMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBuffer                         buffer;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindBufferMemoryInfo;
--   
-- -- VkBindBufferMemoryInfo registry at www.khronos.org type VkBindBufferMemoryInfo = VkStruct VkBindBufferMemoryInfo' -- |
--   typedef struct VkBindImageMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage                          image;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindImageMemoryInfo;
--   
-- -- VkBindImageMemoryInfo registry at www.khronos.org type VkBindImageMemoryInfo = VkStruct VkBindImageMemoryInfo' type VkBindBufferMemory2 = "vkBindBufferMemory2" pattern VkBindBufferMemory2 :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindBufferMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindBufferMemory2 registry at www.khronos.org type HS_vkBindBufferMemory2 = VkDevice " device" -> Word32 " bindInfoCount" -> Ptr VkBindBufferMemoryInfo " pBindInfos" -> IO VkResult type PFN_vkBindBufferMemory2 = FunPtr HS_vkBindBufferMemory2 -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindBufferMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindBufferMemory2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice
--   
-- -- or less efficient: -- --
--   myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2
--   
-- -- Note: vkBindBufferMemory2Unsafe and -- vkBindBufferMemory2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindBufferMemory2 is an alias of -- vkBindBufferMemory2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindBufferMemory2Safe. vkBindBufferMemory2 :: VkDevice -> Word32 -> Ptr VkBindBufferMemoryInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindBufferMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindBufferMemory2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice
--   
-- -- or less efficient: -- --
--   myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2
--   
-- -- Note: vkBindBufferMemory2Unsafe and -- vkBindBufferMemory2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindBufferMemory2 is an alias of -- vkBindBufferMemory2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindBufferMemory2Safe. vkBindBufferMemory2Unsafe :: VkDevice -> Word32 -> Ptr VkBindBufferMemoryInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindBufferMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindBufferMemory2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice
--   
-- -- or less efficient: -- --
--   myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2
--   
-- -- Note: vkBindBufferMemory2Unsafe and -- vkBindBufferMemory2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindBufferMemory2 is an alias of -- vkBindBufferMemory2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindBufferMemory2Safe. vkBindBufferMemory2Safe :: VkDevice -> Word32 -> Ptr VkBindBufferMemoryInfo -> IO VkResult type VkBindImageMemory2 = "vkBindImageMemory2" pattern VkBindImageMemory2 :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindImageMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindImageMemory2 registry at www.khronos.org type HS_vkBindImageMemory2 = VkDevice " device" -> Word32 " bindInfoCount" -> Ptr VkBindImageMemoryInfo " pBindInfos" -> IO VkResult type PFN_vkBindImageMemory2 = FunPtr HS_vkBindImageMemory2 -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindImageMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindImageMemory2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice
--   
-- -- or less efficient: -- --
--   myBindImageMemory2 <- vkGetProc @VkBindImageMemory2
--   
-- -- Note: vkBindImageMemory2Unsafe and -- vkBindImageMemory2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindImageMemory2 is an alias of -- vkBindImageMemory2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindImageMemory2Safe. vkBindImageMemory2 :: VkDevice -> Word32 -> Ptr VkBindImageMemoryInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindImageMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindImageMemory2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice
--   
-- -- or less efficient: -- --
--   myBindImageMemory2 <- vkGetProc @VkBindImageMemory2
--   
-- -- Note: vkBindImageMemory2Unsafe and -- vkBindImageMemory2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindImageMemory2 is an alias of -- vkBindImageMemory2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindImageMemory2Safe. vkBindImageMemory2Unsafe :: VkDevice -> Word32 -> Ptr VkBindImageMemoryInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory2
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindImageMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindImageMemory2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice
--   
-- -- or less efficient: -- --
--   myBindImageMemory2 <- vkGetProc @VkBindImageMemory2
--   
-- -- Note: vkBindImageMemory2Unsafe and -- vkBindImageMemory2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindImageMemory2 is an alias of -- vkBindImageMemory2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindImageMemory2Safe. vkBindImageMemory2Safe :: VkDevice -> Word32 -> Ptr VkBindImageMemoryInfo -> IO VkResult type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- | Alias for VkBindAccelerationStructureMemoryInfoKHR type VkBindAccelerationStructureMemoryInfoNV = VkBindAccelerationStructureMemoryInfoKHR -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org type VkBindBufferMemoryDeviceGroupInfo = VkStruct VkBindBufferMemoryDeviceGroupInfo' -- | Alias for VkBindBufferMemoryDeviceGroupInfo type VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo -- | Alias for VkBindBufferMemoryInfo type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo -- |
--   typedef struct VkBindImageMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--       uint32_t         splitInstanceBindRegionCount;
--       const VkRect2D*  pSplitInstanceBindRegions;
--   } VkBindImageMemoryDeviceGroupInfo;
--   
-- -- VkBindImageMemoryDeviceGroupInfo registry at www.khronos.org type VkBindImageMemoryDeviceGroupInfo = VkStruct VkBindImageMemoryDeviceGroupInfo' -- | Alias for VkBindImageMemoryDeviceGroupInfo type VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo -- | Alias for VkBindImageMemoryInfo type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo -- |
--   typedef struct VkBindImageMemorySwapchainInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint32_t                         imageIndex;
--   } VkBindImageMemorySwapchainInfoKHR;
--   
-- -- VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org type VkBindImageMemorySwapchainInfoKHR = VkStruct VkBindImageMemorySwapchainInfoKHR' -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org type VkBindImagePlaneMemoryInfo = VkStruct VkBindImagePlaneMemoryInfo' -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   typedef struct VkBindIndexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       VkIndexType      indexType;
--   } VkBindIndexBufferIndirectCommandNV;
--   
-- -- VkBindIndexBufferIndirectCommandNV registry at www.khronos.org type VkBindIndexBufferIndirectCommandNV = VkStruct VkBindIndexBufferIndirectCommandNV' -- |
--   typedef struct VkBindShaderGroupIndirectCommandNV {
--       uint32_t         groupIndex;
--   } VkBindShaderGroupIndirectCommandNV;
--   
-- -- VkBindShaderGroupIndirectCommandNV registry at www.khronos.org type VkBindShaderGroupIndirectCommandNV = VkStruct VkBindShaderGroupIndirectCommandNV' -- |
--   typedef struct VkBindSparseInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       uint32_t               bufferBindCount;
--       const VkSparseBufferMemoryBindInfo* pBufferBinds;
--       uint32_t               imageOpaqueBindCount;
--       const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
--       uint32_t               imageBindCount;
--       const VkSparseImageMemoryBindInfo* pImageBinds;
--       uint32_t               signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkBindSparseInfo;
--   
-- -- VkBindSparseInfo registry at www.khronos.org type VkBindSparseInfo = VkStruct VkBindSparseInfo' -- |
--   typedef struct VkBindVertexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       uint32_t         stride;
--   } VkBindVertexBufferIndirectCommandNV;
--   
-- -- VkBindVertexBufferIndirectCommandNV registry at www.khronos.org type VkBindVertexBufferIndirectCommandNV = VkStruct VkBindVertexBufferIndirectCommandNV' pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: VkStructureType -- | bitpos = 10 pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateBitmask a newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: VkStructureType -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: VkStructureType -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. -- --
--   typedef union VkClearColorValue {
--       float                  float32[4];
--       int32_t                int32[4];
--       uint32_t               uint32[4];
--   } VkClearColorValue;
--   
-- -- VkClearColorValue registry at www.khronos.org type VkClearColorValue = VkStruct VkClearColorValue' -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org type VkClearDepthStencilValue = VkStruct VkClearDepthStencilValue' -- | // Union allowing specification of color or depth and stencil values. -- Actual value selected is based on attachment being cleared. -- --
--   typedef union VkClearValue {
--       VkClearColorValue      color;
--       VkClearDepthStencilValue depthStencil;
--   } VkClearValue;
--   
-- -- VkClearValue registry at www.khronos.org type VkClearValue = VkStruct VkClearValue' -- |
--   typedef struct VkCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandBufferUsageFlags  flags;
--       const VkCommandBufferInheritanceInfo*       pInheritanceInfo;
--   } VkCommandBufferBeginInfo;
--   
-- -- VkCommandBufferBeginInfo registry at www.khronos.org type VkCommandBufferBeginInfo = VkStruct VkCommandBufferBeginInfo' -- |
--   typedef struct VkCommandBufferInheritanceInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass    renderPass;
--       uint32_t               subpass;
--       VkFramebuffer   framebuffer;
--       VkBool32               occlusionQueryEnable;
--       VkQueryControlFlags    queryFlags;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkCommandBufferInheritanceInfo;
--   
-- -- VkCommandBufferInheritanceInfo registry at www.khronos.org type VkCommandBufferInheritanceInfo = VkStruct VkCommandBufferInheritanceInfo' -- | type = enum -- -- VkCommandBufferLevel registry at www.khronos.org newtype VkCommandBufferLevel VkCommandBufferLevel :: Int32 -> VkCommandBufferLevel pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY :: VkCommandBufferLevel pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY :: VkCommandBufferLevel newtype VkCommandBufferResetBitmask (a :: FlagType) VkCommandBufferResetBitmask :: VkFlags -> VkCommandBufferResetBitmask (a :: FlagType) pattern VkCommandBufferResetFlagBits :: VkFlags -> VkCommandBufferResetBitmask FlagBit pattern VkCommandBufferResetFlags :: VkFlags -> VkCommandBufferResetBitmask FlagMask -- | Release resources owned by the buffer -- -- bitpos = 0 pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT :: VkCommandBufferResetBitmask a newtype VkCommandBufferUsageBitmask (a :: FlagType) VkCommandBufferUsageBitmask :: VkFlags -> VkCommandBufferUsageBitmask (a :: FlagType) pattern VkCommandBufferUsageFlagBits :: VkFlags -> VkCommandBufferUsageBitmask FlagBit pattern VkCommandBufferUsageFlags :: VkFlags -> VkCommandBufferUsageBitmask FlagMask -- | bitpos = 0 pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT :: VkCommandBufferUsageBitmask a -- | bitpos = 1 pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT :: VkCommandBufferUsageBitmask a -- | Command buffer may be submitted/executed more than once simultaneously -- -- bitpos = 2 pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT :: VkCommandBufferUsageBitmask a newtype VkCommandPoolCreateBitmask (a :: FlagType) VkCommandPoolCreateBitmask :: VkFlags -> VkCommandPoolCreateBitmask (a :: FlagType) pattern VkCommandPoolCreateFlagBits :: VkFlags -> VkCommandPoolCreateBitmask FlagBit pattern VkCommandPoolCreateFlags :: VkFlags -> VkCommandPoolCreateBitmask FlagMask -- | Command buffers have a short lifetime -- -- bitpos = 0 pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT :: VkCommandPoolCreateBitmask a -- | Command buffers may release their memory individually -- -- bitpos = 1 pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT :: VkCommandPoolCreateBitmask a newtype VkCommandPoolResetBitmask (a :: FlagType) VkCommandPoolResetBitmask :: VkFlags -> VkCommandPoolResetBitmask (a :: FlagType) pattern VkCommandPoolResetFlagBits :: VkFlags -> VkCommandPoolResetBitmask FlagBit pattern VkCommandPoolResetFlags :: VkFlags -> VkCommandPoolResetBitmask FlagMask -- | Release resources owned by the pool -- -- bitpos = 0 pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: VkCommandPoolResetBitmask a type VkCommandBufferResetFlagBits = VkCommandBufferResetBitmask FlagBit type VkCommandBufferResetFlags = VkCommandBufferResetBitmask FlagMask type VkCommandBufferUsageFlagBits = VkCommandBufferUsageBitmask FlagBit type VkCommandBufferUsageFlags = VkCommandBufferUsageBitmask FlagMask type VkCommandPoolCreateFlagBits = VkCommandPoolCreateBitmask FlagBit type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask type VkCommandPoolResetFlagBits = VkCommandPoolResetBitmask FlagBit type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org type VkDeviceGroupBindSparseInfo = VkStruct VkDeviceGroupBindSparseInfo' -- |
--   typedef struct VkDeviceGroupCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--   } VkDeviceGroupCommandBufferBeginInfo;
--   
-- -- VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org type VkDeviceGroupCommandBufferBeginInfo = VkStruct VkDeviceGroupCommandBufferBeginInfo' -- |
--   typedef struct VkDeviceGroupRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--       uint32_t         deviceRenderAreaCount;
--       const VkRect2D*  pDeviceRenderAreas;
--   } VkDeviceGroupRenderPassBeginInfo;
--   
-- -- VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org type VkDeviceGroupRenderPassBeginInfo = VkStruct VkDeviceGroupRenderPassBeginInfo' -- |
--   typedef struct VkDeviceGroupSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreCount;
--       const uint32_t*    pWaitSemaphoreDeviceIndices;
--       uint32_t         commandBufferCount;
--       const uint32_t*    pCommandBufferDeviceMasks;
--       uint32_t         signalSemaphoreCount;
--       const uint32_t*  pSignalSemaphoreDeviceIndices;
--   } VkDeviceGroupSubmitInfo;
--   
-- -- VkDeviceGroupSubmitInfo registry at www.khronos.org type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask (a :: FlagType) pattern VkMemoryAllocateFlagBits :: VkFlags -> VkMemoryAllocateBitmask FlagBit pattern VkMemoryAllocateFlags :: VkFlags -> VkMemoryAllocateBitmask FlagMask -- | Force allocation on specific devices -- -- bitpos = 0 pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT :: VkMemoryAllocateBitmask a newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask (a :: FlagType) pattern VkMemoryHeapFlagBits :: VkFlags -> VkMemoryHeapBitmask FlagBit pattern VkMemoryHeapFlags :: VkFlags -> VkMemoryHeapBitmask FlagMask -- | If set, heap represents device memory -- -- bitpos = 0 pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a -- | type = enum -- -- VkMemoryOverallocationBehaviorAMD registry at www.khronos.org newtype VkMemoryOverallocationBehaviorAMD VkMemoryOverallocationBehaviorAMD :: Int32 -> VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask (a :: FlagType) pattern VkMemoryPropertyFlagBits :: VkFlags -> VkMemoryPropertyBitmask FlagBit pattern VkMemoryPropertyFlags :: VkFlags -> VkMemoryPropertyBitmask FlagMask -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: VkMemoryPropertyBitmask a -- | Memory is mappable by host -- -- bitpos = 1 pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT :: VkMemoryPropertyBitmask a -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT :: VkMemoryPropertyBitmask a -- | Memory will be cached by the host -- -- bitpos = 3 pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT :: VkMemoryPropertyBitmask a -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: VkMemoryPropertyBitmask a type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' newtype VkPeerMemoryFeatureBitmask (a :: FlagType) VkPeerMemoryFeatureBitmask :: VkFlags -> VkPeerMemoryFeatureBitmask (a :: FlagType) pattern VkPeerMemoryFeatureFlagBits :: VkFlags -> VkPeerMemoryFeatureBitmask FlagBit pattern VkPeerMemoryFeatureFlags :: VkFlags -> VkPeerMemoryFeatureBitmask FlagMask -- | Can read with vkCmdCopy commands -- -- bitpos = 0 pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT :: VkPeerMemoryFeatureBitmask a -- | Can write with vkCmdCopy commands -- -- bitpos = 1 pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT :: VkPeerMemoryFeatureBitmask a -- | Can read with any access type/command -- -- bitpos = 2 pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT :: VkPeerMemoryFeatureBitmask a -- | Can write with and access type/command -- -- bitpos = 3 pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT :: VkPeerMemoryFeatureBitmask a type VkPeerMemoryFeatureFlagBits = VkPeerMemoryFeatureBitmask FlagBit newtype VkPeerMemoryFeatureFlagBitsKHR VkPeerMemoryFeatureFlagBitsKHR :: VkFlags -> VkPeerMemoryFeatureFlagBitsKHR type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- |
--   typedef struct VkRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass           renderPass;
--       VkFramebuffer          framebuffer;
--       VkRect2D               renderArea;
--       uint32_t               clearValueCount;
--       const VkClearValue*    pClearValues;
--   } VkRenderPassBeginInfo;
--   
-- -- VkRenderPassBeginInfo registry at www.khronos.org type VkRenderPassBeginInfo = VkStruct VkRenderPassBeginInfo' -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org type VkSparseBufferMemoryBindInfo = VkStruct VkSparseBufferMemoryBindInfo' -- |
--   typedef struct VkSparseImageMemoryBind {
--       VkImageSubresource     subresource;
--       VkOffset3D             offset;
--       VkExtent3D             extent;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseImageMemoryBind;
--   
-- -- VkSparseImageMemoryBind registry at www.khronos.org type VkSparseImageMemoryBind = VkStruct VkSparseImageMemoryBind' -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org type VkSparseImageMemoryBindInfo = VkStruct VkSparseImageMemoryBindInfo' -- |
--   typedef struct VkSparseImageOpaqueMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseImageOpaqueMemoryBindInfo;
--   
-- -- VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org type VkSparseImageOpaqueMemoryBindInfo = VkStruct VkSparseImageOpaqueMemoryBindInfo' -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org type VkSparseMemoryBind = VkStruct VkSparseMemoryBind' newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask (a :: FlagType) pattern VkSparseImageFormatFlagBits :: VkFlags -> VkSparseImageFormatBitmask FlagBit pattern VkSparseImageFormatFlags :: VkFlags -> VkSparseImageFormatBitmask FlagMask -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: VkSparseImageFormatBitmask a -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: VkSparseImageFormatBitmask a -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: VkSparseImageFormatBitmask a newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask (a :: FlagType) pattern VkSparseMemoryBindFlagBits :: VkFlags -> VkSparseMemoryBindBitmask FlagBit pattern VkSparseMemoryBindFlags :: VkFlags -> VkSparseMemoryBindBitmask FlagMask -- | Operation binds resource metadata to memory -- -- bitpos = 0 pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT :: VkSparseMemoryBindBitmask a type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask -- |
--   typedef struct VkSubmitInfo {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t       waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       const VkPipelineStageFlags*           pWaitDstStageMask;
--       uint32_t       commandBufferCount;
--       const VkCommandBuffer*     pCommandBuffers;
--       uint32_t       signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkSubmitInfo;
--   
-- -- VkSubmitInfo registry at www.khronos.org type VkSubmitInfo = VkStruct VkSubmitInfo' type VkGetDeviceGroupPeerMemoryFeatures = "vkGetDeviceGroupPeerMemoryFeatures" pattern VkGetDeviceGroupPeerMemoryFeatures :: CString -- |
--   void vkGetDeviceGroupPeerMemoryFeatures
--       ( VkDevice device
--       , uint32_t heapIndex
--       , uint32_t localDeviceIndex
--       , uint32_t remoteDeviceIndex
--       , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures
--       )
--   
-- -- vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org type HS_vkGetDeviceGroupPeerMemoryFeatures = VkDevice " device" -> Word32 " heapIndex" -> Word32 " localDeviceIndex" -> Word32 " remoteDeviceIndex" -> Ptr VkPeerMemoryFeatureFlags " pPeerMemoryFeatures" -> IO () type PFN_vkGetDeviceGroupPeerMemoryFeatures = FunPtr HS_vkGetDeviceGroupPeerMemoryFeatures -- |
--   void vkGetDeviceGroupPeerMemoryFeatures
--       ( VkDevice device
--       , uint32_t heapIndex
--       , uint32_t localDeviceIndex
--       , uint32_t remoteDeviceIndex
--       , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures
--       )
--   
-- -- vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures
--   
-- -- Note: vkGetDeviceGroupPeerMemoryFeaturesUnsafe and -- vkGetDeviceGroupPeerMemoryFeaturesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupPeerMemoryFeatures is an alias -- of vkGetDeviceGroupPeerMemoryFeaturesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceGroupPeerMemoryFeaturesSafe. vkGetDeviceGroupPeerMemoryFeatures :: VkDevice -> Word32 -> Word32 -> Word32 -> Ptr VkPeerMemoryFeatureFlags -> IO () -- |
--   void vkGetDeviceGroupPeerMemoryFeatures
--       ( VkDevice device
--       , uint32_t heapIndex
--       , uint32_t localDeviceIndex
--       , uint32_t remoteDeviceIndex
--       , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures
--       )
--   
-- -- vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures
--   
-- -- Note: vkGetDeviceGroupPeerMemoryFeaturesUnsafe and -- vkGetDeviceGroupPeerMemoryFeaturesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupPeerMemoryFeatures is an alias -- of vkGetDeviceGroupPeerMemoryFeaturesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceGroupPeerMemoryFeaturesSafe. vkGetDeviceGroupPeerMemoryFeaturesUnsafe :: VkDevice -> Word32 -> Word32 -> Word32 -> Ptr VkPeerMemoryFeatureFlags -> IO () -- |
--   void vkGetDeviceGroupPeerMemoryFeatures
--       ( VkDevice device
--       , uint32_t heapIndex
--       , uint32_t localDeviceIndex
--       , uint32_t remoteDeviceIndex
--       , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures
--       )
--   
-- -- vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures
--   
-- -- Note: vkGetDeviceGroupPeerMemoryFeaturesUnsafe and -- vkGetDeviceGroupPeerMemoryFeaturesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetDeviceGroupPeerMemoryFeatures is an alias -- of vkGetDeviceGroupPeerMemoryFeaturesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceGroupPeerMemoryFeaturesSafe. vkGetDeviceGroupPeerMemoryFeaturesSafe :: VkDevice -> Word32 -> Word32 -> Word32 -> Ptr VkPeerMemoryFeatureFlags -> IO () type VkCmdSetDeviceMask = "vkCmdSetDeviceMask" pattern VkCmdSetDeviceMask :: CString -- | Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   void vkCmdSetDeviceMask
--       ( VkCommandBuffer commandBuffer
--       , uint32_t deviceMask
--       )
--   
-- -- vkCmdSetDeviceMask registry at www.khronos.org type HS_vkCmdSetDeviceMask = VkCommandBuffer " commandBuffer" -> Word32 " deviceMask" -> IO () type PFN_vkCmdSetDeviceMask = FunPtr HS_vkCmdSetDeviceMask -- | Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   void vkCmdSetDeviceMask
--       ( VkCommandBuffer commandBuffer
--       , uint32_t deviceMask
--       )
--   
-- -- vkCmdSetDeviceMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask
--   
-- -- Note: vkCmdSetDeviceMaskUnsafe and -- vkCmdSetDeviceMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDeviceMask is an alias of -- vkCmdSetDeviceMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetDeviceMaskSafe. vkCmdSetDeviceMask :: VkCommandBuffer -> Word32 -> IO () -- | Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   void vkCmdSetDeviceMask
--       ( VkCommandBuffer commandBuffer
--       , uint32_t deviceMask
--       )
--   
-- -- vkCmdSetDeviceMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask
--   
-- -- Note: vkCmdSetDeviceMaskUnsafe and -- vkCmdSetDeviceMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDeviceMask is an alias of -- vkCmdSetDeviceMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetDeviceMaskSafe. vkCmdSetDeviceMaskUnsafe :: VkCommandBuffer -> Word32 -> IO () -- | Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   void vkCmdSetDeviceMask
--       ( VkCommandBuffer commandBuffer
--       , uint32_t deviceMask
--       )
--   
-- -- vkCmdSetDeviceMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask
--   
-- -- Note: vkCmdSetDeviceMaskUnsafe and -- vkCmdSetDeviceMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDeviceMask is an alias of -- vkCmdSetDeviceMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetDeviceMaskSafe. vkCmdSetDeviceMaskSafe :: VkCommandBuffer -> Word32 -> IO () type VkCmdDispatchBase = "vkCmdDispatchBase" pattern VkCmdDispatchBase :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdDispatchBase
--       ( VkCommandBuffer commandBuffer
--       , uint32_t baseGroupX
--       , uint32_t baseGroupY
--       , uint32_t baseGroupZ
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatchBase registry at www.khronos.org type HS_vkCmdDispatchBase = VkCommandBuffer " commandBuffer" -> Word32 " baseGroupX" -> Word32 " baseGroupY" -> Word32 " baseGroupZ" -> Word32 " groupCountX" -> Word32 " groupCountY" -> Word32 " groupCountZ" -> IO () type PFN_vkCmdDispatchBase = FunPtr HS_vkCmdDispatchBase -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdDispatchBase
--       ( VkCommandBuffer commandBuffer
--       , uint32_t baseGroupX
--       , uint32_t baseGroupY
--       , uint32_t baseGroupZ
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatchBase registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase
--   
-- -- Note: vkCmdDispatchBaseUnsafe and -- vkCmdDispatchBaseSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDispatchBase is an alias of -- vkCmdDispatchBaseUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDispatchBaseSafe. vkCmdDispatchBase :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> IO () -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdDispatchBase
--       ( VkCommandBuffer commandBuffer
--       , uint32_t baseGroupX
--       , uint32_t baseGroupY
--       , uint32_t baseGroupZ
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatchBase registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase
--   
-- -- Note: vkCmdDispatchBaseUnsafe and -- vkCmdDispatchBaseSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDispatchBase is an alias of -- vkCmdDispatchBaseUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDispatchBaseSafe. vkCmdDispatchBaseUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> IO () -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdDispatchBase
--       ( VkCommandBuffer commandBuffer
--       , uint32_t baseGroupX
--       , uint32_t baseGroupY
--       , uint32_t baseGroupZ
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatchBase registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase
--   
-- -- Note: vkCmdDispatchBaseUnsafe and -- vkCmdDispatchBaseSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDispatchBase is an alias of -- vkCmdDispatchBaseUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDispatchBaseSafe. vkCmdDispatchBaseSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> IO () pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: VkStructureType -- | bitpos = 3 pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT :: VkPipelineCreateBitmask a -- | bitpos = 4 pattern VK_PIPELINE_CREATE_DISPATCH_BASE_BIT :: VkPipelineCreateBitmask a pattern VK_PIPELINE_CREATE_DISPATCH_BASE :: VkPipelineCreateBitmask a -- | Dependency is across devices -- -- bitpos = 2 pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyBitmask a pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: VkStructureType -- | Allows using -- VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when -- binding memory to the image -- -- bitpos = 6 pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT :: VkImageCreateBitmask a -- |
--   typedef struct VkDeviceGroupDeviceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         physicalDeviceCount;
--       const VkPhysicalDevice*  pPhysicalDevices;
--   } VkDeviceGroupDeviceCreateInfo;
--   
-- -- VkDeviceGroupDeviceCreateInfo registry at www.khronos.org type VkDeviceGroupDeviceCreateInfo = VkStruct VkDeviceGroupDeviceCreateInfo' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' type VkEnumeratePhysicalDeviceGroups = "vkEnumeratePhysicalDeviceGroups" pattern VkEnumeratePhysicalDeviceGroups :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDeviceGroups
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceGroupCount
--       , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties
--       )
--   
-- -- vkEnumeratePhysicalDeviceGroups registry at www.khronos.org type HS_vkEnumeratePhysicalDeviceGroups = VkInstance " instance" -> Ptr Word32 " pPhysicalDeviceGroupCount" -> Ptr VkPhysicalDeviceGroupProperties " pPhysicalDeviceGroupProperties" -> IO VkResult type PFN_vkEnumeratePhysicalDeviceGroups = FunPtr HS_vkEnumeratePhysicalDeviceGroups -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDeviceGroups
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceGroupCount
--       , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties
--       )
--   
-- -- vkEnumeratePhysicalDeviceGroups registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance
--   
-- -- or less efficient: -- --
--   myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups
--   
-- -- Note: vkEnumeratePhysicalDeviceGroupsUnsafe and -- vkEnumeratePhysicalDeviceGroupsSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkEnumeratePhysicalDeviceGroups is an alias of -- vkEnumeratePhysicalDeviceGroupsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumeratePhysicalDeviceGroupsSafe. vkEnumeratePhysicalDeviceGroups :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDeviceGroupProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDeviceGroups
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceGroupCount
--       , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties
--       )
--   
-- -- vkEnumeratePhysicalDeviceGroups registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance
--   
-- -- or less efficient: -- --
--   myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups
--   
-- -- Note: vkEnumeratePhysicalDeviceGroupsUnsafe and -- vkEnumeratePhysicalDeviceGroupsSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkEnumeratePhysicalDeviceGroups is an alias of -- vkEnumeratePhysicalDeviceGroupsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumeratePhysicalDeviceGroupsSafe. vkEnumeratePhysicalDeviceGroupsUnsafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDeviceGroupProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDeviceGroups
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceGroupCount
--       , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties
--       )
--   
-- -- vkEnumeratePhysicalDeviceGroups registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance
--   
-- -- or less efficient: -- --
--   myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups
--   
-- -- Note: vkEnumeratePhysicalDeviceGroupsUnsafe and -- vkEnumeratePhysicalDeviceGroupsSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkEnumeratePhysicalDeviceGroups is an alias of -- vkEnumeratePhysicalDeviceGroupsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumeratePhysicalDeviceGroupsSafe. vkEnumeratePhysicalDeviceGroupsSafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDeviceGroupProperties -> IO VkResult -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: VkStructureType pattern VK_MAX_DEVICE_GROUP_SIZE :: (Num a, Eq a) => a -- | If set, heap allocations allocate multiple instances by default -- -- bitpos = 1 pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapBitmask a -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org type VkBufferMemoryRequirementsInfo2 = VkStruct VkBufferMemoryRequirementsInfo2' -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org type VkSparseImageFormatProperties = VkStruct VkSparseImageFormatProperties' -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org type VkSparseImageMemoryRequirements = VkStruct VkSparseImageMemoryRequirements' -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org type VkSparseImageMemoryRequirements2 = VkStruct VkSparseImageMemoryRequirements2' type VkGetImageMemoryRequirements2 = "vkGetImageMemoryRequirements2" pattern VkGetImageMemoryRequirements2 :: CString -- |
--   void vkGetImageMemoryRequirements2
--       ( VkDevice device
--       , const VkImageMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements2 registry at www.khronos.org type HS_vkGetImageMemoryRequirements2 = VkDevice " device" -> Ptr VkImageMemoryRequirementsInfo2 " pInfo" -> Ptr VkMemoryRequirements2 " pMemoryRequirements" -> IO () type PFN_vkGetImageMemoryRequirements2 = FunPtr HS_vkGetImageMemoryRequirements2 -- |
--   void vkGetImageMemoryRequirements2
--       ( VkDevice device
--       , const VkImageMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2
--   
-- -- Note: vkGetImageMemoryRequirements2Unsafe and -- vkGetImageMemoryRequirements2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageMemoryRequirements2 is an alias of -- vkGetImageMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageMemoryRequirements2Safe. vkGetImageMemoryRequirements2 :: VkDevice -> Ptr VkImageMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () -- |
--   void vkGetImageMemoryRequirements2
--       ( VkDevice device
--       , const VkImageMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2
--   
-- -- Note: vkGetImageMemoryRequirements2Unsafe and -- vkGetImageMemoryRequirements2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageMemoryRequirements2 is an alias of -- vkGetImageMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageMemoryRequirements2Safe. vkGetImageMemoryRequirements2Unsafe :: VkDevice -> Ptr VkImageMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () -- |
--   void vkGetImageMemoryRequirements2
--       ( VkDevice device
--       , const VkImageMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2
--   
-- -- Note: vkGetImageMemoryRequirements2Unsafe and -- vkGetImageMemoryRequirements2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageMemoryRequirements2 is an alias of -- vkGetImageMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageMemoryRequirements2Safe. vkGetImageMemoryRequirements2Safe :: VkDevice -> Ptr VkImageMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () type VkGetBufferMemoryRequirements2 = "vkGetBufferMemoryRequirements2" pattern VkGetBufferMemoryRequirements2 :: CString -- |
--   void vkGetBufferMemoryRequirements2
--       ( VkDevice device
--       , const VkBufferMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements2 registry at www.khronos.org type HS_vkGetBufferMemoryRequirements2 = VkDevice " device" -> Ptr VkBufferMemoryRequirementsInfo2 " pInfo" -> Ptr VkMemoryRequirements2 " pMemoryRequirements" -> IO () type PFN_vkGetBufferMemoryRequirements2 = FunPtr HS_vkGetBufferMemoryRequirements2 -- |
--   void vkGetBufferMemoryRequirements2
--       ( VkDevice device
--       , const VkBufferMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2
--   
-- -- Note: vkGetBufferMemoryRequirements2Unsafe and -- vkGetBufferMemoryRequirements2Safe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetBufferMemoryRequirements2 is an alias of -- vkGetBufferMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferMemoryRequirements2Safe. vkGetBufferMemoryRequirements2 :: VkDevice -> Ptr VkBufferMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () -- |
--   void vkGetBufferMemoryRequirements2
--       ( VkDevice device
--       , const VkBufferMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2
--   
-- -- Note: vkGetBufferMemoryRequirements2Unsafe and -- vkGetBufferMemoryRequirements2Safe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetBufferMemoryRequirements2 is an alias of -- vkGetBufferMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferMemoryRequirements2Safe. vkGetBufferMemoryRequirements2Unsafe :: VkDevice -> Ptr VkBufferMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () -- |
--   void vkGetBufferMemoryRequirements2
--       ( VkDevice device
--       , const VkBufferMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2
--   
-- -- Note: vkGetBufferMemoryRequirements2Unsafe and -- vkGetBufferMemoryRequirements2Safe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetBufferMemoryRequirements2 is an alias of -- vkGetBufferMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferMemoryRequirements2Safe. vkGetBufferMemoryRequirements2Safe :: VkDevice -> Ptr VkBufferMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () type VkGetImageSparseMemoryRequirements2 = "vkGetImageSparseMemoryRequirements2" pattern VkGetImageSparseMemoryRequirements2 :: CString -- |
--   void vkGetImageSparseMemoryRequirements2
--       ( VkDevice device
--       , const VkImageSparseMemoryRequirementsInfo2* pInfo
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements2 registry at www.khronos.org type HS_vkGetImageSparseMemoryRequirements2 = VkDevice " device" -> Ptr VkImageSparseMemoryRequirementsInfo2 " pInfo" -> Ptr Word32 " pSparseMemoryRequirementCount" -> Ptr VkSparseImageMemoryRequirements2 " pSparseMemoryRequirements" -> IO () type PFN_vkGetImageSparseMemoryRequirements2 = FunPtr HS_vkGetImageSparseMemoryRequirements2 -- |
--   void vkGetImageSparseMemoryRequirements2
--       ( VkDevice device
--       , const VkImageSparseMemoryRequirementsInfo2* pInfo
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2
--   
-- -- Note: vkGetImageSparseMemoryRequirements2Unsafe and -- vkGetImageSparseMemoryRequirements2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetImageSparseMemoryRequirements2 is an alias -- of vkGetImageSparseMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSparseMemoryRequirements2Safe. vkGetImageSparseMemoryRequirements2 :: VkDevice -> Ptr VkImageSparseMemoryRequirementsInfo2 -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements2 -> IO () -- |
--   void vkGetImageSparseMemoryRequirements2
--       ( VkDevice device
--       , const VkImageSparseMemoryRequirementsInfo2* pInfo
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2
--   
-- -- Note: vkGetImageSparseMemoryRequirements2Unsafe and -- vkGetImageSparseMemoryRequirements2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetImageSparseMemoryRequirements2 is an alias -- of vkGetImageSparseMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSparseMemoryRequirements2Safe. vkGetImageSparseMemoryRequirements2Unsafe :: VkDevice -> Ptr VkImageSparseMemoryRequirementsInfo2 -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements2 -> IO () -- |
--   void vkGetImageSparseMemoryRequirements2
--       ( VkDevice device
--       , const VkImageSparseMemoryRequirementsInfo2* pInfo
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2
--   
-- -- Note: vkGetImageSparseMemoryRequirements2Unsafe and -- vkGetImageSparseMemoryRequirements2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetImageSparseMemoryRequirements2 is an alias -- of vkGetImageSparseMemoryRequirements2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSparseMemoryRequirements2Safe. vkGetImageSparseMemoryRequirements2Safe :: VkDevice -> Ptr VkImageSparseMemoryRequirementsInfo2 -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements2 -> IO () -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize                       srcOffset;
--       VkDeviceSize                       dstOffset;
--       VkDeviceSize size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org type VkBufferCopy = VkStruct VkBufferCopy' -- |
--   typedef struct VkBufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferCreateFlags    flags;
--       VkDeviceSize           size;
--       VkBufferUsageFlags     usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--   } VkBufferCreateInfo;
--   
-- -- VkBufferCreateInfo registry at www.khronos.org type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- |
--   typedef struct VkBufferDeviceAddressCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceAddress                  deviceAddress;
--   } VkBufferDeviceAddressCreateInfoEXT;
--   
-- -- VkBufferDeviceAddressCreateInfoEXT registry at www.khronos.org type VkBufferDeviceAddressCreateInfoEXT = VkStruct VkBufferDeviceAddressCreateInfoEXT' -- |
--   typedef struct VkBufferDeviceAddressInfo {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkBuffer                                               buffer;
--   } VkBufferDeviceAddressInfo;
--   
-- -- VkBufferDeviceAddressInfo registry at www.khronos.org type VkBufferDeviceAddressInfo = VkStruct VkBufferDeviceAddressInfo' -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org type VkBufferImageCopy = VkStruct VkBufferImageCopy' -- |
--   typedef struct VkBufferMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkBufferMemoryBarrier;
--   
-- -- VkBufferMemoryBarrier registry at www.khronos.org type VkBufferMemoryBarrier = VkStruct VkBufferMemoryBarrier' -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint64_t                         opaqueCaptureAddress;
--   } VkBufferOpaqueCaptureAddressCreateInfo;
--   
-- -- VkBufferOpaqueCaptureAddressCreateInfo registry at -- www.khronos.org type VkBufferOpaqueCaptureAddressCreateInfo = VkStruct VkBufferOpaqueCaptureAddressCreateInfo' -- | Alias for VkBufferOpaqueCaptureAddressCreateInfo type VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org type VkBufferViewCreateInfo = VkStruct VkBufferViewCreateInfo' -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org type VkSparseImageFormatProperties2 = VkStruct VkSparseImageFormatProperties2' -- | Alias for VkSparseImageFormatProperties2 type VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2 -- | Alias for VkSparseImageMemoryRequirements2 type VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2 pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: VkStructureType -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- |
--   typedef struct VkFormatProperties {
--       VkFormatFeatureFlags   linearTilingFeatures;
--       VkFormatFeatureFlags   optimalTilingFeatures;
--       VkFormatFeatureFlags   bufferFeatures;
--   } VkFormatProperties;
--   
-- -- VkFormatProperties registry at www.khronos.org type VkFormatProperties = VkStruct VkFormatProperties' -- |
--   typedef struct VkFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkFormatProperties               formatProperties;
--   } VkFormatProperties2;
--   
-- -- VkFormatProperties2 registry at www.khronos.org type VkFormatProperties2 = VkStruct VkFormatProperties2' -- |
--   typedef struct VkQueueFamilyProperties {
--       VkQueueFlags           queueFlags;
--       uint32_t               queueCount;
--       uint32_t               timestampValidBits;
--       VkExtent3D             minImageTransferGranularity;
--   } VkQueueFamilyProperties;
--   
-- -- VkQueueFamilyProperties registry at www.khronos.org type VkQueueFamilyProperties = VkStruct VkQueueFamilyProperties' -- |
--   typedef struct VkQueueFamilyProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkQueueFamilyProperties          queueFamilyProperties;
--   } VkQueueFamilyProperties2;
--   
-- -- VkQueueFamilyProperties2 registry at www.khronos.org type VkQueueFamilyProperties2 = VkStruct VkQueueFamilyProperties2' newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask (a :: FlagType) pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask -- | Queue supports graphics operations -- -- bitpos = 0 pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a -- | Queue supports compute operations -- -- bitpos = 1 pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a -- | Queue supports transfer operations -- -- bitpos = 2 pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: VkQueueGlobalPriorityEXT type VkQueueFlagBits = VkQueueBitmask FlagBit type VkQueueFlags = VkQueueBitmask FlagMask type VkGetPhysicalDeviceFeatures2 = "vkGetPhysicalDeviceFeatures2" pattern VkGetPhysicalDeviceFeatures2 :: CString -- |
--   void vkGetPhysicalDeviceFeatures2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures2* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures2 registry at www.khronos.org type HS_vkGetPhysicalDeviceFeatures2 = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceFeatures2 " pFeatures" -> IO () type PFN_vkGetPhysicalDeviceFeatures2 = FunPtr HS_vkGetPhysicalDeviceFeatures2 -- |
--   void vkGetPhysicalDeviceFeatures2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures2* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2
--   
-- -- Note: vkGetPhysicalDeviceFeatures2Unsafe and -- vkGetPhysicalDeviceFeatures2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceFeatures2 is an alias of -- vkGetPhysicalDeviceFeatures2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFeatures2Safe. vkGetPhysicalDeviceFeatures2 :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures2 -> IO () -- |
--   void vkGetPhysicalDeviceFeatures2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures2* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2
--   
-- -- Note: vkGetPhysicalDeviceFeatures2Unsafe and -- vkGetPhysicalDeviceFeatures2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceFeatures2 is an alias of -- vkGetPhysicalDeviceFeatures2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFeatures2Safe. vkGetPhysicalDeviceFeatures2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures2 -> IO () -- |
--   void vkGetPhysicalDeviceFeatures2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures2* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2
--   
-- -- Note: vkGetPhysicalDeviceFeatures2Unsafe and -- vkGetPhysicalDeviceFeatures2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceFeatures2 is an alias of -- vkGetPhysicalDeviceFeatures2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFeatures2Safe. vkGetPhysicalDeviceFeatures2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures2 -> IO () type VkGetPhysicalDeviceProperties2 = "vkGetPhysicalDeviceProperties2" pattern VkGetPhysicalDeviceProperties2 :: CString -- |
--   void vkGetPhysicalDeviceProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties2 registry at www.khronos.org type HS_vkGetPhysicalDeviceProperties2 = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceProperties2 " pProperties" -> IO () type PFN_vkGetPhysicalDeviceProperties2 = FunPtr HS_vkGetPhysicalDeviceProperties2 -- |
--   void vkGetPhysicalDeviceProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2
--   
-- -- Note: vkGetPhysicalDeviceProperties2Unsafe and -- vkGetPhysicalDeviceProperties2Safe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceProperties2 is an alias of -- vkGetPhysicalDeviceProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceProperties2Safe. vkGetPhysicalDeviceProperties2 :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2
--   
-- -- Note: vkGetPhysicalDeviceProperties2Unsafe and -- vkGetPhysicalDeviceProperties2Safe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceProperties2 is an alias of -- vkGetPhysicalDeviceProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceProperties2Safe. vkGetPhysicalDeviceProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2
--   
-- -- Note: vkGetPhysicalDeviceProperties2Unsafe and -- vkGetPhysicalDeviceProperties2Safe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceProperties2 is an alias of -- vkGetPhysicalDeviceProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceProperties2Safe. vkGetPhysicalDeviceProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties2 -> IO () type VkGetPhysicalDeviceFormatProperties2 = "vkGetPhysicalDeviceFormatProperties2" pattern VkGetPhysicalDeviceFormatProperties2 :: CString -- |
--   void vkGetPhysicalDeviceFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties2* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties2 registry at -- www.khronos.org type HS_vkGetPhysicalDeviceFormatProperties2 = VkPhysicalDevice " physicalDevice" -> VkFormat " format" -> Ptr VkFormatProperties2 " pFormatProperties" -> IO () type PFN_vkGetPhysicalDeviceFormatProperties2 = FunPtr HS_vkGetPhysicalDeviceFormatProperties2 -- |
--   void vkGetPhysicalDeviceFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties2* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2
--   
-- -- Note: vkGetPhysicalDeviceFormatProperties2Unsafe and -- vkGetPhysicalDeviceFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceFormatProperties2 is an -- alias of vkGetPhysicalDeviceFormatProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFormatProperties2Safe. vkGetPhysicalDeviceFormatProperties2 :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties2* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2
--   
-- -- Note: vkGetPhysicalDeviceFormatProperties2Unsafe and -- vkGetPhysicalDeviceFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceFormatProperties2 is an -- alias of vkGetPhysicalDeviceFormatProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFormatProperties2Safe. vkGetPhysicalDeviceFormatProperties2Unsafe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties2* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2
--   
-- -- Note: vkGetPhysicalDeviceFormatProperties2Unsafe and -- vkGetPhysicalDeviceFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceFormatProperties2 is an -- alias of vkGetPhysicalDeviceFormatProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFormatProperties2Safe. vkGetPhysicalDeviceFormatProperties2Safe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties2 -> IO () type VkGetPhysicalDeviceImageFormatProperties2 = "vkGetPhysicalDeviceImageFormatProperties2" pattern VkGetPhysicalDeviceImageFormatProperties2 :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo
--       , VkImageFormatProperties2* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties2 registry at -- www.khronos.org type HS_vkGetPhysicalDeviceImageFormatProperties2 = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceImageFormatInfo2 " pImageFormatInfo" -> Ptr VkImageFormatProperties2 " pImageFormatProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceImageFormatProperties2 = FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2 -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo
--       , VkImageFormatProperties2* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2
--   
-- -- Note: vkGetPhysicalDeviceImageFormatProperties2Unsafe -- and vkGetPhysicalDeviceImageFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceImageFormatProperties2 is an -- alias of vkGetPhysicalDeviceImageFormatProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceImageFormatProperties2Safe. vkGetPhysicalDeviceImageFormatProperties2 :: VkPhysicalDevice -> Ptr VkPhysicalDeviceImageFormatInfo2 -> Ptr VkImageFormatProperties2 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo
--       , VkImageFormatProperties2* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2
--   
-- -- Note: vkGetPhysicalDeviceImageFormatProperties2Unsafe -- and vkGetPhysicalDeviceImageFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceImageFormatProperties2 is an -- alias of vkGetPhysicalDeviceImageFormatProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceImageFormatProperties2Safe. vkGetPhysicalDeviceImageFormatProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceImageFormatInfo2 -> Ptr VkImageFormatProperties2 -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo
--       , VkImageFormatProperties2* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2
--   
-- -- Note: vkGetPhysicalDeviceImageFormatProperties2Unsafe -- and vkGetPhysicalDeviceImageFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceImageFormatProperties2 is an -- alias of vkGetPhysicalDeviceImageFormatProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceImageFormatProperties2Safe. vkGetPhysicalDeviceImageFormatProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceImageFormatInfo2 -> Ptr VkImageFormatProperties2 -> IO VkResult type VkGetPhysicalDeviceQueueFamilyProperties2 = "vkGetPhysicalDeviceQueueFamilyProperties2" pattern VkGetPhysicalDeviceQueueFamilyProperties2 :: CString -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties2
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties2* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties2 registry at -- www.khronos.org type HS_vkGetPhysicalDeviceQueueFamilyProperties2 = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pQueueFamilyPropertyCount" -> Ptr VkQueueFamilyProperties2 " pQueueFamilyProperties" -> IO () type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2 -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties2
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties2* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2
--   
-- -- Note: vkGetPhysicalDeviceQueueFamilyProperties2Unsafe -- and vkGetPhysicalDeviceQueueFamilyProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceQueueFamilyProperties2 is an -- alias of vkGetPhysicalDeviceQueueFamilyProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceQueueFamilyProperties2Safe. vkGetPhysicalDeviceQueueFamilyProperties2 :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties2
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties2* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2
--   
-- -- Note: vkGetPhysicalDeviceQueueFamilyProperties2Unsafe -- and vkGetPhysicalDeviceQueueFamilyProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceQueueFamilyProperties2 is an -- alias of vkGetPhysicalDeviceQueueFamilyProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceQueueFamilyProperties2Safe. vkGetPhysicalDeviceQueueFamilyProperties2Unsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties2
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties2* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2
--   
-- -- Note: vkGetPhysicalDeviceQueueFamilyProperties2Unsafe -- and vkGetPhysicalDeviceQueueFamilyProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceQueueFamilyProperties2 is an -- alias of vkGetPhysicalDeviceQueueFamilyProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceQueueFamilyProperties2Safe. vkGetPhysicalDeviceQueueFamilyProperties2Safe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties2 -> IO () type VkGetPhysicalDeviceMemoryProperties2 = "vkGetPhysicalDeviceMemoryProperties2" pattern VkGetPhysicalDeviceMemoryProperties2 :: CString -- |
--   void vkGetPhysicalDeviceMemoryProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties2* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties2 registry at -- www.khronos.org type HS_vkGetPhysicalDeviceMemoryProperties2 = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceMemoryProperties2 " pMemoryProperties" -> IO () type PFN_vkGetPhysicalDeviceMemoryProperties2 = FunPtr HS_vkGetPhysicalDeviceMemoryProperties2 -- |
--   void vkGetPhysicalDeviceMemoryProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties2* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2
--   
-- -- Note: vkGetPhysicalDeviceMemoryProperties2Unsafe and -- vkGetPhysicalDeviceMemoryProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceMemoryProperties2 is an -- alias of vkGetPhysicalDeviceMemoryProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceMemoryProperties2Safe. vkGetPhysicalDeviceMemoryProperties2 :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceMemoryProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties2* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2
--   
-- -- Note: vkGetPhysicalDeviceMemoryProperties2Unsafe and -- vkGetPhysicalDeviceMemoryProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceMemoryProperties2 is an -- alias of vkGetPhysicalDeviceMemoryProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceMemoryProperties2Safe. vkGetPhysicalDeviceMemoryProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceMemoryProperties2
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties2* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2
--   
-- -- Note: vkGetPhysicalDeviceMemoryProperties2Unsafe and -- vkGetPhysicalDeviceMemoryProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceMemoryProperties2 is an -- alias of vkGetPhysicalDeviceMemoryProperties2Unsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceMemoryProperties2Safe. vkGetPhysicalDeviceMemoryProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties2 -> IO () type VkGetPhysicalDeviceSparseImageFormatProperties2 = "vkGetPhysicalDeviceSparseImageFormatProperties2" pattern VkGetPhysicalDeviceSparseImageFormatProperties2 :: CString -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties2 registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSparseImageFormatProperties2 = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 " pFormatInfo" -> Ptr Word32 " pPropertyCount" -> Ptr VkSparseImageFormatProperties2 " pProperties" -> IO () type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties2 -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2
--   
-- -- Note: -- vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe and -- vkGetPhysicalDeviceSparseImageFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSparseImageFormatProperties2 -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatProperties2Safe. vkGetPhysicalDeviceSparseImageFormatProperties2 :: VkPhysicalDevice -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 -> Ptr Word32 -> Ptr VkSparseImageFormatProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2
--   
-- -- Note: -- vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe and -- vkGetPhysicalDeviceSparseImageFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSparseImageFormatProperties2 -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatProperties2Safe. vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 -> Ptr Word32 -> Ptr VkSparseImageFormatProperties2 -> IO () -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties2
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties2 registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2
--   
-- -- Note: -- vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe and -- vkGetPhysicalDeviceSparseImageFormatProperties2Safe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSparseImageFormatProperties2 -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatProperties2Safe. vkGetPhysicalDeviceSparseImageFormatProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 -> Ptr Word32 -> Ptr VkSparseImageFormatProperties2 -> IO () -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- |
--   typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--   } VkDeviceMemoryOpaqueCaptureAddressInfo;
--   
-- -- VkDeviceMemoryOpaqueCaptureAddressInfo registry at -- www.khronos.org type VkDeviceMemoryOpaqueCaptureAddressInfo = VkStruct VkDeviceMemoryOpaqueCaptureAddressInfo' -- | Alias for VkDeviceMemoryOpaqueCaptureAddressInfo type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' -- | Alias for VkFormatProperties2 type VkFormatProperties2KHR = VkFormatProperties2 -- |
--   typedef struct VkQueueFamilyCheckpointPropertiesNV {
--       VkStructureType sType;
--       void*           pNext;
--       VkPipelineStageFlags checkpointExecutionStageMask;
--   } VkQueueFamilyCheckpointPropertiesNV;
--   
-- -- VkQueueFamilyCheckpointPropertiesNV registry at www.khronos.org type VkQueueFamilyCheckpointPropertiesNV = VkStruct VkQueueFamilyCheckpointPropertiesNV' -- | Alias for VkQueueFamilyProperties2 type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: VkStructureType type VkTrimCommandPool = "vkTrimCommandPool" pattern VkTrimCommandPool :: CString -- |
--   void vkTrimCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolTrimFlags flags
--       )
--   
-- -- vkTrimCommandPool registry at www.khronos.org type HS_vkTrimCommandPool = VkDevice " device" -> VkCommandPool " commandPool" -> VkCommandPoolTrimFlags " flags" -> IO () type PFN_vkTrimCommandPool = FunPtr HS_vkTrimCommandPool -- |
--   void vkTrimCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolTrimFlags flags
--       )
--   
-- -- vkTrimCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myTrimCommandPool <- vkGetProc @VkTrimCommandPool
--   
-- -- Note: vkTrimCommandPoolUnsafe and -- vkTrimCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkTrimCommandPool is an alias of -- vkTrimCommandPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkTrimCommandPoolSafe. vkTrimCommandPool :: VkDevice -> VkCommandPool -> VkCommandPoolTrimFlags -> IO () -- |
--   void vkTrimCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolTrimFlags flags
--       )
--   
-- -- vkTrimCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myTrimCommandPool <- vkGetProc @VkTrimCommandPool
--   
-- -- Note: vkTrimCommandPoolUnsafe and -- vkTrimCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkTrimCommandPool is an alias of -- vkTrimCommandPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkTrimCommandPoolSafe. vkTrimCommandPoolUnsafe :: VkDevice -> VkCommandPool -> VkCommandPoolTrimFlags -> IO () -- |
--   void vkTrimCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolTrimFlags flags
--       )
--   
-- -- vkTrimCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myTrimCommandPool <- vkGetProc @VkTrimCommandPool
--   
-- -- Note: vkTrimCommandPoolUnsafe and -- vkTrimCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkTrimCommandPool is an alias of -- vkTrimCommandPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkTrimCommandPoolSafe. vkTrimCommandPoolSafe :: VkDevice -> VkCommandPool -> VkCommandPoolTrimFlags -> IO () pattern VK_ERROR_OUT_OF_POOL_MEMORY :: VkResult -- | Format can be used as the source image of image transfer commands -- -- bitpos = 14 pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of image transfer commands -- -- bitpos = 15 pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT :: VkFormatFeatureBitmask a -- | The 3D image can be viewed as a 2D or 2D array image -- -- bitpos = 5 pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT :: VkImageCreateBitmask a newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask (a :: FlagType) pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask -- | Controls coherency of indirect command reads -- -- bitpos = 0 pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a -- | Controls coherency of index reads -- -- bitpos = 1 pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a -- | Controls coherency of input attachment reads -- -- bitpos = 4 pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader reads -- -- bitpos = 5 pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader writes -- -- bitpos = 6 pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment reads -- -- bitpos = 7 pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment writes -- -- bitpos = 8 pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of transfer reads -- -- bitpos = 11 pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of transfer writes -- -- bitpos = 12 pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of host reads -- -- bitpos = 13 pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a -- | Controls coherency of host writes -- -- bitpos = 14 pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of memory reads -- -- bitpos = 15 pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a -- | Controls coherency of memory writes -- -- bitpos = 16 pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a type VkAccessFlagBits = VkAccessBitmask FlagBit type VkAccessFlags = VkAccessBitmask FlagMask -- |
--   typedef struct VkAttachmentDescription {
--       VkAttachmentDescriptionFlags flags;
--       VkFormat               format;
--       VkSampleCountFlagBits  samples;
--       VkAttachmentLoadOp     loadOp;
--       VkAttachmentStoreOp    storeOp;
--       VkAttachmentLoadOp     stencilLoadOp;
--       VkAttachmentStoreOp    stencilStoreOp;
--       VkImageLayout          initialLayout;
--       VkImageLayout          finalLayout;
--   } VkAttachmentDescription;
--   
-- -- VkAttachmentDescription registry at www.khronos.org type VkAttachmentDescription = VkStruct VkAttachmentDescription' newtype VkAttachmentDescriptionBitmask (a :: FlagType) VkAttachmentDescriptionBitmask :: VkFlags -> VkAttachmentDescriptionBitmask (a :: FlagType) pattern VkAttachmentDescriptionFlagBits :: VkFlags -> VkAttachmentDescriptionBitmask FlagBit pattern VkAttachmentDescriptionFlags :: VkFlags -> VkAttachmentDescriptionBitmask FlagMask -- | The attachment may alias physical memory of another attachment in the -- same render pass -- -- bitpos = 0 pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: VkAttachmentDescriptionBitmask a -- | type = enum -- -- VkAttachmentLoadOp registry at www.khronos.org newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp -- | type = enum -- -- VkAttachmentStoreOp registry at www.khronos.org newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp type VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionBitmask FlagBit type VkAttachmentDescriptionFlags = VkAttachmentDescriptionBitmask FlagMask -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org type VkAttachmentReference = VkStruct VkAttachmentReference' -- |
--   typedef struct VkComponentMapping {
--       VkComponentSwizzle r;
--       VkComponentSwizzle g;
--       VkComponentSwizzle b;
--       VkComponentSwizzle a;
--   } VkComponentMapping;
--   
-- -- VkComponentMapping registry at www.khronos.org type VkComponentMapping = VkStruct VkComponentMapping' -- | type = enum -- -- VkComponentSwizzle registry at www.khronos.org newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle -- | type = enum -- -- VkComponentTypeNV registry at www.khronos.org newtype VkComponentTypeNV VkComponentTypeNV :: Int32 -> VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT64_NV :: VkComponentTypeNV newtype VkDependencyBitmask (a :: FlagType) VkDependencyBitmask :: VkFlags -> VkDependencyBitmask (a :: FlagType) pattern VkDependencyFlagBits :: VkFlags -> VkDependencyBitmask FlagBit pattern VkDependencyFlags :: VkFlags -> VkDependencyBitmask FlagMask -- | Dependency is per pixel region -- -- bitpos = 0 pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a type VkDependencyFlagBits = VkDependencyBitmask FlagBit type VkDependencyFlags = VkDependencyBitmask FlagMask -- |
--   typedef struct VkInputAttachmentAspectReference {
--       uint32_t                        subpass;
--       uint32_t                        inputAttachmentIndex;
--       VkImageAspectFlags              aspectMask;
--   } VkInputAttachmentAspectReference;
--   
-- -- VkInputAttachmentAspectReference registry at www.khronos.org type VkInputAttachmentAspectReference = VkStruct VkInputAttachmentAspectReference' -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationDomainOriginStateCreateInfo = VkStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- | type = enum -- -- VkPointClippingBehavior registry at www.khronos.org newtype VkPointClippingBehavior VkPointClippingBehavior :: Int32 -> VkPointClippingBehavior pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES :: VkPointClippingBehavior pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY :: VkPointClippingBehavior newtype VkPointClippingBehaviorKHR VkPointClippingBehaviorKHR :: VkFlags -> VkPointClippingBehaviorKHR newtype VkRenderPassCreateBitmask (a :: FlagType) VkRenderPassCreateBitmask :: VkFlags -> VkRenderPassCreateBitmask (a :: FlagType) pattern VkRenderPassCreateFlagBits :: VkFlags -> VkRenderPassCreateBitmask FlagBit pattern VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateBitmask FlagMask type VkRenderPassCreateFlagBits = VkRenderPassCreateBitmask FlagBit type VkRenderPassCreateFlags = VkRenderPassCreateBitmask FlagMask -- |
--   typedef struct VkRenderPassCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPassCreateFlags flags;
--       uint32_t   attachmentCount;
--       const VkAttachmentDescription* pAttachments;
--       uint32_t               subpassCount;
--       const VkSubpassDescription* pSubpasses;
--       uint32_t       dependencyCount;
--       const VkSubpassDependency* pDependencies;
--   } VkRenderPassCreateInfo;
--   
-- -- VkRenderPassCreateInfo registry at www.khronos.org type VkRenderPassCreateInfo = VkStruct VkRenderPassCreateInfo' -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org type VkRenderPassInputAttachmentAspectCreateInfo = VkStruct VkRenderPassInputAttachmentAspectCreateInfo' -- |
--   typedef struct VkSubpassDependency {
--       uint32_t               srcSubpass;
--       uint32_t               dstSubpass;
--       VkPipelineStageFlags   srcStageMask;
--       VkPipelineStageFlags   dstStageMask;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkDependencyFlags      dependencyFlags;
--   } VkSubpassDependency;
--   
-- -- VkSubpassDependency registry at www.khronos.org type VkSubpassDependency = VkStruct VkSubpassDependency' -- |
--   typedef struct VkSubpassDescription {
--       VkSubpassDescriptionFlags flags;
--       VkPipelineBindPoint    pipelineBindPoint;
--       uint32_t               inputAttachmentCount;
--       const VkAttachmentReference* pInputAttachments;
--       uint32_t               colorAttachmentCount;
--       const VkAttachmentReference* pColorAttachments;
--       const VkAttachmentReference* pResolveAttachments;
--       const VkAttachmentReference* pDepthStencilAttachment;
--       uint32_t               preserveAttachmentCount;
--       const uint32_t* pPreserveAttachments;
--   } VkSubpassDescription;
--   
-- -- VkSubpassDescription registry at www.khronos.org type VkSubpassDescription = VkStruct VkSubpassDescription' -- | type = enum -- -- VkSubpassContents registry at www.khronos.org newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS :: VkSubpassContents newtype VkSubpassDescriptionBitmask (a :: FlagType) VkSubpassDescriptionBitmask :: VkFlags -> VkSubpassDescriptionBitmask (a :: FlagType) pattern VkSubpassDescriptionFlagBits :: VkFlags -> VkSubpassDescriptionBitmask FlagBit pattern VkSubpassDescriptionFlags :: VkFlags -> VkSubpassDescriptionBitmask FlagMask type VkSubpassDescriptionFlagBits = VkSubpassDescriptionBitmask FlagBit type VkSubpassDescriptionFlags = VkSubpassDescriptionBitmask FlagMask -- | type = enum -- -- VkTessellationDomainOrigin registry at www.khronos.org newtype VkTessellationDomainOrigin VkTessellationDomainOrigin :: Int32 -> VkTessellationDomainOrigin pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT :: VkTessellationDomainOrigin pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT :: VkTessellationDomainOrigin newtype VkTessellationDomainOriginKHR VkTessellationDomainOriginKHR :: VkFlags -> VkTessellationDomainOriginKHR -- | bitpos = 7 pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | bitpos = 8 pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT :: VkImageCreateBitmask a pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: VkStructureType pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- |
--   typedef struct VkRenderPassMultiviewCreateInfo {
--       VkStructureType        sType;
--       const void*            pNext;
--       uint32_t               subpassCount;
--       const uint32_t*     pViewMasks;
--       uint32_t               dependencyCount;
--       const int32_t*   pViewOffsets;
--       uint32_t               correlationMaskCount;
--       const uint32_t* pCorrelationMasks;
--   } VkRenderPassMultiviewCreateInfo;
--   
-- -- VkRenderPassMultiviewCreateInfo registry at www.khronos.org type VkRenderPassMultiviewCreateInfo = VkStruct VkRenderPassMultiviewCreateInfo' pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: VkStructureType -- | bitpos = 1 pattern VK_DEPENDENCY_VIEW_LOCAL_BIT :: VkDependencyBitmask a pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES :: VkStructureType -- |
--   typedef struct VkProtectedSubmitInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       VkBool32                        protectedSubmit;
--   } VkProtectedSubmitInfo;
--   
-- -- VkProtectedSubmitInfo registry at www.khronos.org type VkProtectedSubmitInfo = VkStruct VkProtectedSubmitInfo' type VkGetDeviceQueue2 = "vkGetDeviceQueue2" pattern VkGetDeviceQueue2 :: CString -- |
--   void vkGetDeviceQueue2
--       ( VkDevice device
--       , const VkDeviceQueueInfo2* pQueueInfo
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue2 registry at www.khronos.org type HS_vkGetDeviceQueue2 = VkDevice " device" -> Ptr VkDeviceQueueInfo2 " pQueueInfo" -> Ptr VkQueue " pQueue" -> IO () type PFN_vkGetDeviceQueue2 = FunPtr HS_vkGetDeviceQueue2 -- |
--   void vkGetDeviceQueue2
--       ( VkDevice device
--       , const VkDeviceQueueInfo2* pQueueInfo
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2
--   
-- -- Note: vkGetDeviceQueue2Unsafe and -- vkGetDeviceQueue2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceQueue2 is an alias of -- vkGetDeviceQueue2Unsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetDeviceQueue2Safe. vkGetDeviceQueue2 :: VkDevice -> Ptr VkDeviceQueueInfo2 -> Ptr VkQueue -> IO () -- |
--   void vkGetDeviceQueue2
--       ( VkDevice device
--       , const VkDeviceQueueInfo2* pQueueInfo
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2
--   
-- -- Note: vkGetDeviceQueue2Unsafe and -- vkGetDeviceQueue2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceQueue2 is an alias of -- vkGetDeviceQueue2Unsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetDeviceQueue2Safe. vkGetDeviceQueue2Unsafe :: VkDevice -> Ptr VkDeviceQueueInfo2 -> Ptr VkQueue -> IO () -- |
--   void vkGetDeviceQueue2
--       ( VkDevice device
--       , const VkDeviceQueueInfo2* pQueueInfo
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue2 registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2
--   
-- -- Note: vkGetDeviceQueue2Unsafe and -- vkGetDeviceQueue2Safe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceQueue2 is an alias of -- vkGetDeviceQueue2Unsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetDeviceQueue2Safe. vkGetDeviceQueue2Safe :: VkDevice -> Ptr VkDeviceQueueInfo2 -> Ptr VkQueue -> IO () pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: VkStructureType -- | Queues may support protected operations -- -- bitpos = 4 pattern VK_QUEUE_PROTECTED_BIT :: VkQueueBitmask a -- | Queue is a protected-capable device queue -- -- bitpos = 0 pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT :: VkDeviceQueueCreateBitmask a -- | Memory is protected -- -- bitpos = 5 pattern VK_MEMORY_PROPERTY_PROTECTED_BIT :: VkMemoryPropertyBitmask a -- | Buffer requires protected memory -- -- bitpos = 3 pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateBitmask a -- | Image requires protected memory -- -- bitpos = 11 pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateBitmask a -- | Command buffers allocated from pool are protected command buffers -- -- bitpos = 2 pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT :: VkCommandPoolCreateBitmask a -- | type = enum -- -- VkBorderColor registry at www.khronos.org newtype VkBorderColor VkBorderColor :: Int32 -> VkBorderColor pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE :: VkBorderColor -- | type = enum -- -- VkChromaLocation registry at www.khronos.org newtype VkChromaLocation VkChromaLocation :: Int32 -> VkChromaLocation pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation pattern VK_CHROMA_LOCATION_MIDPOINT :: VkChromaLocation newtype VkChromaLocationKHR VkChromaLocationKHR :: VkFlags -> VkChromaLocationKHR -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter pattern VK_FILTER_NEAREST :: VkFilter pattern VK_FILTER_LINEAR :: VkFilter -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: VkSamplerAddressMode -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode -- | Linear filter between mip levels pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode -- | type = enum -- -- VkSamplerReductionMode registry at www.khronos.org newtype VkSamplerReductionMode VkSamplerReductionMode :: Int32 -> VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion -- | just range expansion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion -- | aka HD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion -- | aka SD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion -- | aka UHD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion -- | type = enum -- -- VkSamplerYcbcrRange registry at www.khronos.org newtype VkSamplerYcbcrRange VkSamplerYcbcrRange :: Int32 -> VkSamplerYcbcrRange -- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped) pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange newtype VkSamplerCreateBitmask (a :: FlagType) VkSamplerCreateBitmask :: VkFlags -> VkSamplerCreateBitmask (a :: FlagType) pattern VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateBitmask FlagBit pattern VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateBitmask FlagMask type VkSamplerCreateFlagBits = VkSamplerCreateBitmask FlagBit type VkSamplerCreateFlags = VkSamplerCreateBitmask FlagMask newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: VkFlags -> VkSamplerReductionModeEXT newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR -- |
--   typedef struct VkSamplerCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerCreateFlags   flags;
--       VkFilter               magFilter;
--       VkFilter               minFilter;
--       VkSamplerMipmapMode    mipmapMode;
--       VkSamplerAddressMode   addressModeU;
--       VkSamplerAddressMode   addressModeV;
--       VkSamplerAddressMode   addressModeW;
--       float                  mipLodBias;
--       VkBool32               anisotropyEnable;
--       float                  maxAnisotropy;
--       VkBool32               compareEnable;
--       VkCompareOp            compareOp;
--       float                  minLod;
--       float                  maxLod;
--       VkBorderColor          borderColor;
--       VkBool32               unnormalizedCoordinates;
--   } VkSamplerCreateInfo;
--   
-- -- VkSamplerCreateInfo registry at www.khronos.org type VkSamplerCreateInfo = VkStruct VkSamplerCreateInfo' -- |
--   typedef struct VkSamplerYcbcrConversionCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkSamplerYcbcrModelConversion ycbcrModel;
--       VkSamplerYcbcrRange           ycbcrRange;
--       VkComponentMapping               components;
--       VkChromaLocation              xChromaOffset;
--       VkChromaLocation              yChromaOffset;
--       VkFilter                         chromaFilter;
--       VkBool32                         forceExplicitReconstruction;
--   } VkSamplerYcbcrConversionCreateInfo;
--   
-- -- VkSamplerYcbcrConversionCreateInfo registry at www.khronos.org type VkSamplerYcbcrConversionCreateInfo = VkStruct VkSamplerYcbcrConversionCreateInfo' -- |
--   typedef struct VkSamplerYcbcrConversionImageFormatProperties {
--       VkStructureType sType;
--       void*      pNext;
--       uint32_t                         combinedImageSamplerDescriptorCount;
--   } VkSamplerYcbcrConversionImageFormatProperties;
--   
-- -- VkSamplerYcbcrConversionImageFormatProperties registry at -- www.khronos.org type VkSamplerYcbcrConversionImageFormatProperties = VkStruct VkSamplerYcbcrConversionImageFormatProperties' -- |
--   typedef struct VkSamplerYcbcrConversionInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerYcbcrConversion      conversion;
--   } VkSamplerYcbcrConversionInfo;
--   
-- -- VkSamplerYcbcrConversionInfo registry at www.khronos.org type VkSamplerYcbcrConversionInfo = VkStruct VkSamplerYcbcrConversionInfo' type VkCreateSamplerYcbcrConversion = "vkCreateSamplerYcbcrConversion" pattern VkCreateSamplerYcbcrConversion :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSamplerYcbcrConversion
--       ( VkDevice device
--       , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSamplerYcbcrConversion* pYcbcrConversion
--       )
--   
-- -- vkCreateSamplerYcbcrConversion registry at www.khronos.org type HS_vkCreateSamplerYcbcrConversion = VkDevice " device" -> Ptr VkSamplerYcbcrConversionCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSamplerYcbcrConversion " pYcbcrConversion" -> IO VkResult type PFN_vkCreateSamplerYcbcrConversion = FunPtr HS_vkCreateSamplerYcbcrConversion -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSamplerYcbcrConversion
--       ( VkDevice device
--       , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSamplerYcbcrConversion* pYcbcrConversion
--       )
--   
-- -- vkCreateSamplerYcbcrConversion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion
--   
-- -- Note: vkCreateSamplerYcbcrConversionUnsafe and -- vkCreateSamplerYcbcrConversionSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateSamplerYcbcrConversion is an alias of -- vkCreateSamplerYcbcrConversionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSamplerYcbcrConversionSafe. vkCreateSamplerYcbcrConversion :: VkDevice -> Ptr VkSamplerYcbcrConversionCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSamplerYcbcrConversion -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSamplerYcbcrConversion
--       ( VkDevice device
--       , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSamplerYcbcrConversion* pYcbcrConversion
--       )
--   
-- -- vkCreateSamplerYcbcrConversion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion
--   
-- -- Note: vkCreateSamplerYcbcrConversionUnsafe and -- vkCreateSamplerYcbcrConversionSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateSamplerYcbcrConversion is an alias of -- vkCreateSamplerYcbcrConversionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSamplerYcbcrConversionSafe. vkCreateSamplerYcbcrConversionUnsafe :: VkDevice -> Ptr VkSamplerYcbcrConversionCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSamplerYcbcrConversion -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSamplerYcbcrConversion
--       ( VkDevice device
--       , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSamplerYcbcrConversion* pYcbcrConversion
--       )
--   
-- -- vkCreateSamplerYcbcrConversion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion
--   
-- -- Note: vkCreateSamplerYcbcrConversionUnsafe and -- vkCreateSamplerYcbcrConversionSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateSamplerYcbcrConversion is an alias of -- vkCreateSamplerYcbcrConversionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSamplerYcbcrConversionSafe. vkCreateSamplerYcbcrConversionSafe :: VkDevice -> Ptr VkSamplerYcbcrConversionCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSamplerYcbcrConversion -> IO VkResult type VkDestroySamplerYcbcrConversion = "vkDestroySamplerYcbcrConversion" pattern VkDestroySamplerYcbcrConversion :: CString -- |
--   void vkDestroySamplerYcbcrConversion
--       ( VkDevice device
--       , VkSamplerYcbcrConversion ycbcrConversion
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySamplerYcbcrConversion registry at www.khronos.org type HS_vkDestroySamplerYcbcrConversion = VkDevice " device" -> VkSamplerYcbcrConversion " ycbcrConversion" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroySamplerYcbcrConversion = FunPtr HS_vkDestroySamplerYcbcrConversion -- |
--   void vkDestroySamplerYcbcrConversion
--       ( VkDevice device
--       , VkSamplerYcbcrConversion ycbcrConversion
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySamplerYcbcrConversion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion
--   
-- -- Note: vkDestroySamplerYcbcrConversionUnsafe and -- vkDestroySamplerYcbcrConversionSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkDestroySamplerYcbcrConversion is an alias of -- vkDestroySamplerYcbcrConversionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySamplerYcbcrConversionSafe. vkDestroySamplerYcbcrConversion :: VkDevice -> VkSamplerYcbcrConversion -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySamplerYcbcrConversion
--       ( VkDevice device
--       , VkSamplerYcbcrConversion ycbcrConversion
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySamplerYcbcrConversion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion
--   
-- -- Note: vkDestroySamplerYcbcrConversionUnsafe and -- vkDestroySamplerYcbcrConversionSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkDestroySamplerYcbcrConversion is an alias of -- vkDestroySamplerYcbcrConversionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySamplerYcbcrConversionSafe. vkDestroySamplerYcbcrConversionUnsafe :: VkDevice -> VkSamplerYcbcrConversion -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySamplerYcbcrConversion
--       ( VkDevice device
--       , VkSamplerYcbcrConversion ycbcrConversion
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySamplerYcbcrConversion registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion
--   
-- -- Note: vkDestroySamplerYcbcrConversionUnsafe and -- vkDestroySamplerYcbcrConversionSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkDestroySamplerYcbcrConversion is an alias of -- vkDestroySamplerYcbcrConversionUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySamplerYcbcrConversionSafe. vkDestroySamplerYcbcrConversionSafe :: VkDevice -> VkSamplerYcbcrConversion -> Ptr VkAllocationCallbacks -> IO () -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                            pNext;
--       VkClearColorValue                                                                      customBorderColor;
--       VkFormat                                                                               format;
--   } VkSamplerCustomBorderColorCreateInfoEXT;
--   
-- -- VkSamplerCustomBorderColorCreateInfoEXT registry at -- www.khronos.org type VkSamplerCustomBorderColorCreateInfoEXT = VkStruct VkSamplerCustomBorderColorCreateInfoEXT' -- |
--   typedef struct VkSamplerReductionModeCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerReductionMode           reductionMode;
--   } VkSamplerReductionModeCreateInfo;
--   
-- -- VkSamplerReductionModeCreateInfo registry at www.khronos.org type VkSamplerReductionModeCreateInfo = VkStruct VkSamplerReductionModeCreateInfo' -- | Alias for VkSamplerReductionModeCreateInfo type VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo -- | Alias for VkSamplerYcbcrConversionCreateInfo type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo -- | Alias for VkSamplerYcbcrConversionImageFormatProperties type VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties -- | Alias for VkSamplerYcbcrConversionInfo type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: VkStructureType pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: VkObjectType pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: VkFormat pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 :: VkFormat pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: VkFormat pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 :: VkFormat pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 :: VkFormat pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat -- | bitpos = 4 pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectBitmask a -- | bitpos = 5 pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectBitmask a -- | bitpos = 6 pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectBitmask a -- | bitpos = 9 pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateBitmask a -- | Format can have midpoint rather than cosited chroma samples -- -- bitpos = 17 pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT :: VkFormatFeatureBitmask a -- | Format can be used with linear filtering whilst color conversion is -- enabled -- -- bitpos = 18 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT :: VkFormatFeatureBitmask a -- | Format can have different chroma, min and mag filters -- -- bitpos = 19 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT :: VkFormatFeatureBitmask a -- | bitpos = 20 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT :: VkFormatFeatureBitmask a -- | bitpos = 21 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT :: VkFormatFeatureBitmask a -- | Format supports disjoint planes -- -- bitpos = 22 pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureBitmask a -- | Format can have cosited rather than midpoint chroma samples -- -- bitpos = 23 pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT :: VkFormatFeatureBitmask a newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       const void*                               pNext;
--       VkDescriptorUpdateTemplateCreateFlags    flags;
--       uint32_t                 descriptorUpdateEntryCount;
--       const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
--       VkDescriptorUpdateTemplateType templateType;
--       VkDescriptorSetLayout descriptorSetLayout;
--       VkPipelineBindPoint pipelineBindPoint;
--       VkPipelineLayoutpipelineLayout;
--       uint32_t set;
--   } VkDescriptorUpdateTemplateCreateInfo;
--   
-- -- VkDescriptorUpdateTemplateCreateInfo registry at -- www.khronos.org type VkDescriptorUpdateTemplateCreateInfo = VkStruct VkDescriptorUpdateTemplateCreateInfo' -- |
--   typedef struct VkDescriptorUpdateTemplateEntry {
--       uint32_t                         dstBinding;
--       uint32_t                         dstArrayElement;
--       uint32_t                         descriptorCount;
--       VkDescriptorType                 descriptorType;
--       size_t                           offset;
--       size_t                           stride;
--   } VkDescriptorUpdateTemplateEntry;
--   
-- -- VkDescriptorUpdateTemplateEntry registry at www.khronos.org type VkDescriptorUpdateTemplateEntry = VkStruct VkDescriptorUpdateTemplateEntry' type VkCreateDescriptorUpdateTemplate = "vkCreateDescriptorUpdateTemplate" pattern VkCreateDescriptorUpdateTemplate :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorUpdateTemplate
--       ( VkDevice device
--       , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate
--       )
--   
-- -- vkCreateDescriptorUpdateTemplate registry at www.khronos.org type HS_vkCreateDescriptorUpdateTemplate = VkDevice " device" -> Ptr VkDescriptorUpdateTemplateCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDescriptorUpdateTemplate " pDescriptorUpdateTemplate" -> IO VkResult type PFN_vkCreateDescriptorUpdateTemplate = FunPtr HS_vkCreateDescriptorUpdateTemplate -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorUpdateTemplate
--       ( VkDevice device
--       , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate
--       )
--   
-- -- vkCreateDescriptorUpdateTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate
--   
-- -- Note: vkCreateDescriptorUpdateTemplateUnsafe and -- vkCreateDescriptorUpdateTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateDescriptorUpdateTemplate is an alias of -- vkCreateDescriptorUpdateTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorUpdateTemplateSafe. vkCreateDescriptorUpdateTemplate :: VkDevice -> Ptr VkDescriptorUpdateTemplateCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorUpdateTemplate -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorUpdateTemplate
--       ( VkDevice device
--       , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate
--       )
--   
-- -- vkCreateDescriptorUpdateTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate
--   
-- -- Note: vkCreateDescriptorUpdateTemplateUnsafe and -- vkCreateDescriptorUpdateTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateDescriptorUpdateTemplate is an alias of -- vkCreateDescriptorUpdateTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorUpdateTemplateSafe. vkCreateDescriptorUpdateTemplateUnsafe :: VkDevice -> Ptr VkDescriptorUpdateTemplateCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorUpdateTemplate -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorUpdateTemplate
--       ( VkDevice device
--       , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate
--       )
--   
-- -- vkCreateDescriptorUpdateTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate
--   
-- -- Note: vkCreateDescriptorUpdateTemplateUnsafe and -- vkCreateDescriptorUpdateTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkCreateDescriptorUpdateTemplate is an alias of -- vkCreateDescriptorUpdateTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorUpdateTemplateSafe. vkCreateDescriptorUpdateTemplateSafe :: VkDevice -> Ptr VkDescriptorUpdateTemplateCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorUpdateTemplate -> IO VkResult type VkDestroyDescriptorUpdateTemplate = "vkDestroyDescriptorUpdateTemplate" pattern VkDestroyDescriptorUpdateTemplate :: CString -- |
--   void vkDestroyDescriptorUpdateTemplate
--       ( VkDevice device
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorUpdateTemplate registry at www.khronos.org type HS_vkDestroyDescriptorUpdateTemplate = VkDevice " device" -> VkDescriptorUpdateTemplate " descriptorUpdateTemplate" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDescriptorUpdateTemplate = FunPtr HS_vkDestroyDescriptorUpdateTemplate -- |
--   void vkDestroyDescriptorUpdateTemplate
--       ( VkDevice device
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorUpdateTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate
--   
-- -- Note: vkDestroyDescriptorUpdateTemplateUnsafe and -- vkDestroyDescriptorUpdateTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkDestroyDescriptorUpdateTemplate is an alias of -- vkDestroyDescriptorUpdateTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorUpdateTemplateSafe. vkDestroyDescriptorUpdateTemplate :: VkDevice -> VkDescriptorUpdateTemplate -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDescriptorUpdateTemplate
--       ( VkDevice device
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorUpdateTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate
--   
-- -- Note: vkDestroyDescriptorUpdateTemplateUnsafe and -- vkDestroyDescriptorUpdateTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkDestroyDescriptorUpdateTemplate is an alias of -- vkDestroyDescriptorUpdateTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorUpdateTemplateSafe. vkDestroyDescriptorUpdateTemplateUnsafe :: VkDevice -> VkDescriptorUpdateTemplate -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDescriptorUpdateTemplate
--       ( VkDevice device
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorUpdateTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate
--   
-- -- Note: vkDestroyDescriptorUpdateTemplateUnsafe and -- vkDestroyDescriptorUpdateTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkDestroyDescriptorUpdateTemplate is an alias of -- vkDestroyDescriptorUpdateTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorUpdateTemplateSafe. vkDestroyDescriptorUpdateTemplateSafe :: VkDevice -> VkDescriptorUpdateTemplate -> Ptr VkAllocationCallbacks -> IO () type VkUpdateDescriptorSetWithTemplate = "vkUpdateDescriptorSetWithTemplate" pattern VkUpdateDescriptorSetWithTemplate :: CString -- |
--   void vkUpdateDescriptorSetWithTemplate
--       ( VkDevice device
--       , VkDescriptorSet descriptorSet
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const void* pData
--       )
--   
-- -- vkUpdateDescriptorSetWithTemplate registry at www.khronos.org type HS_vkUpdateDescriptorSetWithTemplate = VkDevice " device" -> VkDescriptorSet " descriptorSet" -> VkDescriptorUpdateTemplate " descriptorUpdateTemplate" -> Ptr Void " pData" -> IO () type PFN_vkUpdateDescriptorSetWithTemplate = FunPtr HS_vkUpdateDescriptorSetWithTemplate -- |
--   void vkUpdateDescriptorSetWithTemplate
--       ( VkDevice device
--       , VkDescriptorSet descriptorSet
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const void* pData
--       )
--   
-- -- vkUpdateDescriptorSetWithTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate
--   
-- -- Note: vkUpdateDescriptorSetWithTemplateUnsafe and -- vkUpdateDescriptorSetWithTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkUpdateDescriptorSetWithTemplate is an alias of -- vkUpdateDescriptorSetWithTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUpdateDescriptorSetWithTemplateSafe. vkUpdateDescriptorSetWithTemplate :: VkDevice -> VkDescriptorSet -> VkDescriptorUpdateTemplate -> Ptr Void -> IO () -- |
--   void vkUpdateDescriptorSetWithTemplate
--       ( VkDevice device
--       , VkDescriptorSet descriptorSet
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const void* pData
--       )
--   
-- -- vkUpdateDescriptorSetWithTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate
--   
-- -- Note: vkUpdateDescriptorSetWithTemplateUnsafe and -- vkUpdateDescriptorSetWithTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkUpdateDescriptorSetWithTemplate is an alias of -- vkUpdateDescriptorSetWithTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUpdateDescriptorSetWithTemplateSafe. vkUpdateDescriptorSetWithTemplateUnsafe :: VkDevice -> VkDescriptorSet -> VkDescriptorUpdateTemplate -> Ptr Void -> IO () -- |
--   void vkUpdateDescriptorSetWithTemplate
--       ( VkDevice device
--       , VkDescriptorSet descriptorSet
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const void* pData
--       )
--   
-- -- vkUpdateDescriptorSetWithTemplate registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice
--   
-- -- or less efficient: -- --
--   myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate
--   
-- -- Note: vkUpdateDescriptorSetWithTemplateUnsafe and -- vkUpdateDescriptorSetWithTemplateSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkUpdateDescriptorSetWithTemplate is an alias of -- vkUpdateDescriptorSetWithTemplateUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUpdateDescriptorSetWithTemplateSafe. vkUpdateDescriptorSetWithTemplateSafe :: VkDevice -> VkDescriptorSet -> VkDescriptorUpdateTemplate -> Ptr Void -> IO () -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' -- |
--   typedef struct VkDescriptorPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPoolCreateFlags  flags;
--       uint32_t               maxSets;
--       uint32_t               poolSizeCount;
--       const VkDescriptorPoolSize* pPoolSizes;
--   } VkDescriptorPoolCreateInfo;
--   
-- -- VkDescriptorPoolCreateInfo registry at www.khronos.org type VkDescriptorPoolCreateInfo = VkStruct VkDescriptorPoolCreateInfo' -- |
--   typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               maxInlineUniformBlockBindings;
--   } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
--   
-- -- VkDescriptorPoolInlineUniformBlockCreateInfoEXT registry at -- www.khronos.org type VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkStruct VkDescriptorPoolInlineUniformBlockCreateInfoEXT' -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org type VkDescriptorPoolSize = VkStruct VkDescriptorPoolSize' -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org type VkDescriptorSetAllocateInfo = VkStruct VkDescriptorSetAllocateInfo' -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org type VkDescriptorSetLayoutBinding = VkStruct VkDescriptorSetLayoutBinding' -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       uint32_t                                           bindingCount;
--       const VkDescriptorBindingFlags* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfo;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfo registry at -- www.khronos.org type VkDescriptorSetLayoutBindingFlagsCreateInfo = VkStruct VkDescriptorSetLayoutBindingFlagsCreateInfo' -- | Alias for VkDescriptorSetLayoutBindingFlagsCreateInfo type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org type VkDescriptorSetLayoutCreateInfo = VkStruct VkDescriptorSetLayoutCreateInfo' -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org type VkDescriptorSetLayoutSupport = VkStruct VkDescriptorSetLayoutSupport' -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfo;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfo registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountAllocateInfo = VkStruct VkDescriptorSetVariableDescriptorCountAllocateInfo' -- | Alias for VkDescriptorSetVariableDescriptorCountAllocateInfo type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfo -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupport;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupport registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountLayoutSupport = VkStruct VkDescriptorSetVariableDescriptorCountLayoutSupport' -- | Alias for VkDescriptorSetVariableDescriptorCountLayoutSupport type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupport -- | Alias for VkDescriptorUpdateTemplateCreateInfo type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: VkStructureType pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: VkObjectType newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask (a :: FlagType) pattern VkBufferCreateFlagBits :: VkFlags -> VkBufferCreateBitmask FlagBit pattern VkBufferCreateFlags :: VkFlags -> VkBufferCreateBitmask FlagMask -- | Buffer should support sparse backing -- -- bitpos = 0 pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT :: VkBufferCreateBitmask a -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: VkBufferCreateBitmask a -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT :: VkBufferCreateBitmask a newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask (a :: FlagType) pattern VkBufferUsageFlagBits :: VkFlags -> VkBufferUsageBitmask FlagBit pattern VkBufferUsageFlags :: VkFlags -> VkBufferUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a -- | Can be used as TBO -- -- bitpos = 2 pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as IBO -- -- bitpos = 3 pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as UBO -- -- bitpos = 4 pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as SSBO -- -- bitpos = 5 pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT :: VkBufferUsageBitmask a type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org type VkExternalBufferProperties = VkStruct VkExternalBufferProperties' -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org type VkExternalImageFormatProperties = VkStruct VkExternalImageFormatProperties' newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org type VkExternalMemoryProperties = VkStruct VkExternalMemoryProperties' type VkGetPhysicalDeviceExternalBufferProperties = "vkGetPhysicalDeviceExternalBufferProperties" pattern VkGetPhysicalDeviceExternalBufferProperties :: CString -- |
--   void vkGetPhysicalDeviceExternalBufferProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo
--       , VkExternalBufferProperties* pExternalBufferProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalBufferProperties registry at -- www.khronos.org type HS_vkGetPhysicalDeviceExternalBufferProperties = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceExternalBufferInfo " pExternalBufferInfo" -> Ptr VkExternalBufferProperties " pExternalBufferProperties" -> IO () type PFN_vkGetPhysicalDeviceExternalBufferProperties = FunPtr HS_vkGetPhysicalDeviceExternalBufferProperties -- |
--   void vkGetPhysicalDeviceExternalBufferProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo
--       , VkExternalBufferProperties* pExternalBufferProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalBufferProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties
--   
-- -- Note: -- vkGetPhysicalDeviceExternalBufferPropertiesUnsafe and -- vkGetPhysicalDeviceExternalBufferPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalBufferProperties is -- an alias of vkGetPhysicalDeviceExternalBufferPropertiesUnsafe -- when the useUnsafeFFIDefault cabal flag is enabled; -- otherwise, it is an alias of -- vkGetPhysicalDeviceExternalBufferPropertiesSafe. vkGetPhysicalDeviceExternalBufferProperties :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalBufferInfo -> Ptr VkExternalBufferProperties -> IO () -- |
--   void vkGetPhysicalDeviceExternalBufferProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo
--       , VkExternalBufferProperties* pExternalBufferProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalBufferProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties
--   
-- -- Note: -- vkGetPhysicalDeviceExternalBufferPropertiesUnsafe and -- vkGetPhysicalDeviceExternalBufferPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalBufferProperties is -- an alias of vkGetPhysicalDeviceExternalBufferPropertiesUnsafe -- when the useUnsafeFFIDefault cabal flag is enabled; -- otherwise, it is an alias of -- vkGetPhysicalDeviceExternalBufferPropertiesSafe. vkGetPhysicalDeviceExternalBufferPropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalBufferInfo -> Ptr VkExternalBufferProperties -> IO () -- |
--   void vkGetPhysicalDeviceExternalBufferProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo
--       , VkExternalBufferProperties* pExternalBufferProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalBufferProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties
--   
-- -- Note: -- vkGetPhysicalDeviceExternalBufferPropertiesUnsafe and -- vkGetPhysicalDeviceExternalBufferPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalBufferProperties is -- an alias of vkGetPhysicalDeviceExternalBufferPropertiesUnsafe -- when the useUnsafeFFIDefault cabal flag is enabled; -- otherwise, it is an alias of -- vkGetPhysicalDeviceExternalBufferPropertiesSafe. vkGetPhysicalDeviceExternalBufferPropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalBufferInfo -> Ptr VkExternalBufferProperties -> IO () -- | Alias for VkExternalBufferProperties type VkExternalBufferPropertiesKHR = VkExternalBufferProperties -- |
--   typedef struct VkExternalFenceProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalFenceHandleTypeFlags compatibleHandleTypes;
--       VkExternalFenceFeatureFlags externalFenceFeatures;
--   } VkExternalFenceProperties;
--   
-- -- VkExternalFenceProperties registry at www.khronos.org type VkExternalFenceProperties = VkStruct VkExternalFenceProperties' -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- | Alias for VkExternalImageFormatProperties type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties -- |
--   typedef struct VkExternalImageFormatPropertiesNV {
--       VkImageFormatProperties          imageFormatProperties;
--       VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
--   } VkExternalImageFormatPropertiesNV;
--   
-- -- VkExternalImageFormatPropertiesNV registry at www.khronos.org type VkExternalImageFormatPropertiesNV = VkStruct VkExternalImageFormatPropertiesNV' -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org type VkExternalMemoryBufferCreateInfo = VkStruct VkExternalMemoryBufferCreateInfo' -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org type VkExternalMemoryImageCreateInfo = VkStruct VkExternalMemoryImageCreateInfo' -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org type VkExternalMemoryImageCreateInfoNV = VkStruct VkExternalMemoryImageCreateInfoNV' -- | Alias for VkExternalMemoryProperties type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties -- |
--   typedef struct VkExternalSemaphoreProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
--       VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
--   } VkExternalSemaphoreProperties;
--   
-- -- VkExternalSemaphoreProperties registry at www.khronos.org type VkExternalSemaphoreProperties = VkStruct VkExternalSemaphoreProperties' -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: VkStructureType pattern VK_LUID_SIZE :: (Num a, Eq a) => a -- |
--   typedef struct VkExportMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExportMemoryAllocateInfo;
--   
-- -- VkExportMemoryAllocateInfo registry at www.khronos.org type VkExportMemoryAllocateInfo = VkStruct VkExportMemoryAllocateInfo' -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_ERROR_INVALID_EXTERNAL_HANDLE :: VkResult pattern VK_QUEUE_FAMILY_EXTERNAL :: Word32 type VkGetPhysicalDeviceExternalFenceProperties = "vkGetPhysicalDeviceExternalFenceProperties" pattern VkGetPhysicalDeviceExternalFenceProperties :: CString -- |
--   void vkGetPhysicalDeviceExternalFenceProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo
--       , VkExternalFenceProperties* pExternalFenceProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalFenceProperties registry at -- www.khronos.org type HS_vkGetPhysicalDeviceExternalFenceProperties = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceExternalFenceInfo " pExternalFenceInfo" -> Ptr VkExternalFenceProperties " pExternalFenceProperties" -> IO () type PFN_vkGetPhysicalDeviceExternalFenceProperties = FunPtr HS_vkGetPhysicalDeviceExternalFenceProperties -- |
--   void vkGetPhysicalDeviceExternalFenceProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo
--       , VkExternalFenceProperties* pExternalFenceProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalFenceProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties
--   
-- -- Note: vkGetPhysicalDeviceExternalFencePropertiesUnsafe -- and vkGetPhysicalDeviceExternalFencePropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalFenceProperties is -- an alias of vkGetPhysicalDeviceExternalFencePropertiesUnsafe -- when the useUnsafeFFIDefault cabal flag is enabled; -- otherwise, it is an alias of -- vkGetPhysicalDeviceExternalFencePropertiesSafe. vkGetPhysicalDeviceExternalFenceProperties :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalFenceInfo -> Ptr VkExternalFenceProperties -> IO () -- |
--   void vkGetPhysicalDeviceExternalFenceProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo
--       , VkExternalFenceProperties* pExternalFenceProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalFenceProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties
--   
-- -- Note: vkGetPhysicalDeviceExternalFencePropertiesUnsafe -- and vkGetPhysicalDeviceExternalFencePropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalFenceProperties is -- an alias of vkGetPhysicalDeviceExternalFencePropertiesUnsafe -- when the useUnsafeFFIDefault cabal flag is enabled; -- otherwise, it is an alias of -- vkGetPhysicalDeviceExternalFencePropertiesSafe. vkGetPhysicalDeviceExternalFencePropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalFenceInfo -> Ptr VkExternalFenceProperties -> IO () -- |
--   void vkGetPhysicalDeviceExternalFenceProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo
--       , VkExternalFenceProperties* pExternalFenceProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalFenceProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties
--   
-- -- Note: vkGetPhysicalDeviceExternalFencePropertiesUnsafe -- and vkGetPhysicalDeviceExternalFencePropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalFenceProperties is -- an alias of vkGetPhysicalDeviceExternalFencePropertiesUnsafe -- when the useUnsafeFFIDefault cabal flag is enabled; -- otherwise, it is an alias of -- vkGetPhysicalDeviceExternalFencePropertiesSafe. vkGetPhysicalDeviceExternalFencePropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalFenceInfo -> Ptr VkExternalFenceProperties -> IO () pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: VkStructureType -- |
--   typedef struct VkExportFenceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlags handleTypes;
--   } VkExportFenceCreateInfo;
--   
-- -- VkExportFenceCreateInfo registry at www.khronos.org type VkExportFenceCreateInfo = VkStruct VkExportFenceCreateInfo' newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask (a :: FlagType) pattern VkFenceCreateFlagBits :: VkFlags -> VkFenceCreateBitmask FlagBit pattern VkFenceCreateFlags :: VkFlags -> VkFenceCreateBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask (a :: FlagType) pattern VkFenceImportFlagBits :: VkFlags -> VkFenceImportBitmask FlagBit pattern VkFenceImportFlags :: VkFlags -> VkFenceImportBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR type VkFenceImportFlags = VkFenceImportBitmask FlagMask -- |
--   typedef struct VkFenceCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFenceCreateFlags     flags;
--   } VkFenceCreateInfo;
--   
-- -- VkFenceCreateInfo registry at www.khronos.org type VkFenceCreateInfo = VkStruct VkFenceCreateInfo' pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkExportSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlags handleTypes;
--   } VkExportSemaphoreCreateInfo;
--   
-- -- VkExportSemaphoreCreateInfo registry at www.khronos.org type VkExportSemaphoreCreateInfo = VkStruct VkExportSemaphoreCreateInfo' -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org type VkSemaphoreCreateInfo = VkStruct VkSemaphoreCreateInfo' newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask (a :: FlagType) pattern VkSemaphoreImportFlagBits :: VkFlags -> VkSemaphoreImportBitmask FlagBit pattern VkSemaphoreImportFlags :: VkFlags -> VkSemaphoreImportBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT :: VkSemaphoreImportBitmask a -- | type = enum -- -- VkSemaphoreType registry at www.khronos.org newtype VkSemaphoreType VkSemaphoreType :: Int32 -> VkSemaphoreType pattern VK_SEMAPHORE_TYPE_BINARY :: VkSemaphoreType pattern VK_SEMAPHORE_TYPE_TIMELINE :: VkSemaphoreType newtype VkSemaphoreWaitBitmask (a :: FlagType) VkSemaphoreWaitBitmask :: VkFlags -> VkSemaphoreWaitBitmask (a :: FlagType) pattern VkSemaphoreWaitFlagBits :: VkFlags -> VkSemaphoreWaitBitmask FlagBit pattern VkSemaphoreWaitFlags :: VkFlags -> VkSemaphoreWaitBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_WAIT_ANY_BIT :: VkSemaphoreWaitBitmask a type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask newtype VkSemaphoreTypeKHR VkSemaphoreTypeKHR :: VkFlags -> VkSemaphoreTypeKHR type VkSemaphoreWaitFlagBits = VkSemaphoreWaitBitmask FlagBit newtype VkSemaphoreWaitFlagBitsKHR VkSemaphoreWaitFlagBitsKHR :: VkFlags -> VkSemaphoreWaitFlagBitsKHR type VkSemaphoreWaitFlags = VkSemaphoreWaitBitmask FlagMask pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: VkStructureType type VkGetPhysicalDeviceExternalSemaphoreProperties = "vkGetPhysicalDeviceExternalSemaphoreProperties" pattern VkGetPhysicalDeviceExternalSemaphoreProperties :: CString -- |
--   void vkGetPhysicalDeviceExternalSemaphoreProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo
--       , VkExternalSemaphoreProperties* pExternalSemaphoreProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalSemaphoreProperties registry at -- www.khronos.org type HS_vkGetPhysicalDeviceExternalSemaphoreProperties = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceExternalSemaphoreInfo " pExternalSemaphoreInfo" -> Ptr VkExternalSemaphoreProperties " pExternalSemaphoreProperties" -> IO () type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = FunPtr HS_vkGetPhysicalDeviceExternalSemaphoreProperties -- |
--   void vkGetPhysicalDeviceExternalSemaphoreProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo
--       , VkExternalSemaphoreProperties* pExternalSemaphoreProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalSemaphoreProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties
--   
-- -- Note: -- vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe and -- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalSemaphoreProperties -- is an alias of -- vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of -- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe. vkGetPhysicalDeviceExternalSemaphoreProperties :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalSemaphoreInfo -> Ptr VkExternalSemaphoreProperties -> IO () -- |
--   void vkGetPhysicalDeviceExternalSemaphoreProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo
--       , VkExternalSemaphoreProperties* pExternalSemaphoreProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalSemaphoreProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties
--   
-- -- Note: -- vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe and -- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalSemaphoreProperties -- is an alias of -- vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of -- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe. vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalSemaphoreInfo -> Ptr VkExternalSemaphoreProperties -> IO () -- |
--   void vkGetPhysicalDeviceExternalSemaphoreProperties
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo
--       , VkExternalSemaphoreProperties* pExternalSemaphoreProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalSemaphoreProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties
--   
-- -- Note: -- vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe and -- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceExternalSemaphoreProperties -- is an alias of -- vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of -- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe. vkGetPhysicalDeviceExternalSemaphorePropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalSemaphoreInfo -> Ptr VkExternalSemaphoreProperties -> IO () pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: VkStructureType type VkGetDescriptorSetLayoutSupport = "vkGetDescriptorSetLayoutSupport" pattern VkGetDescriptorSetLayoutSupport :: CString -- |
--   void vkGetDescriptorSetLayoutSupport
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , VkDescriptorSetLayoutSupport* pSupport
--       )
--   
-- -- vkGetDescriptorSetLayoutSupport registry at www.khronos.org type HS_vkGetDescriptorSetLayoutSupport = VkDevice " device" -> Ptr VkDescriptorSetLayoutCreateInfo " pCreateInfo" -> Ptr VkDescriptorSetLayoutSupport " pSupport" -> IO () type PFN_vkGetDescriptorSetLayoutSupport = FunPtr HS_vkGetDescriptorSetLayoutSupport -- |
--   void vkGetDescriptorSetLayoutSupport
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , VkDescriptorSetLayoutSupport* pSupport
--       )
--   
-- -- vkGetDescriptorSetLayoutSupport registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice
--   
-- -- or less efficient: -- --
--   myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport
--   
-- -- Note: vkGetDescriptorSetLayoutSupportUnsafe and -- vkGetDescriptorSetLayoutSupportSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetDescriptorSetLayoutSupport is an alias of -- vkGetDescriptorSetLayoutSupportUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDescriptorSetLayoutSupportSafe. vkGetDescriptorSetLayoutSupport :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkDescriptorSetLayoutSupport -> IO () -- |
--   void vkGetDescriptorSetLayoutSupport
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , VkDescriptorSetLayoutSupport* pSupport
--       )
--   
-- -- vkGetDescriptorSetLayoutSupport registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice
--   
-- -- or less efficient: -- --
--   myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport
--   
-- -- Note: vkGetDescriptorSetLayoutSupportUnsafe and -- vkGetDescriptorSetLayoutSupportSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetDescriptorSetLayoutSupport is an alias of -- vkGetDescriptorSetLayoutSupportUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDescriptorSetLayoutSupportSafe. vkGetDescriptorSetLayoutSupportUnsafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkDescriptorSetLayoutSupport -> IO () -- |
--   void vkGetDescriptorSetLayoutSupport
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , VkDescriptorSetLayoutSupport* pSupport
--       )
--   
-- -- vkGetDescriptorSetLayoutSupport registry at www.khronos.org -- -- Note: When useNativeFFI-1-1 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice
--   
-- -- or less efficient: -- --
--   myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport
--   
-- -- Note: vkGetDescriptorSetLayoutSupportUnsafe and -- vkGetDescriptorSetLayoutSupportSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkGetDescriptorSetLayoutSupport is an alias of -- vkGetDescriptorSetLayoutSupportUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDescriptorSetLayoutSupportSafe. vkGetDescriptorSetLayoutSupportSafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkDescriptorSetLayoutSupport -> IO () pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDescriptorSetLayoutSupport" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalSemaphoreProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalFenceProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalBufferProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUpdateDescriptorSetWithTemplate" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorUpdateTemplate" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorUpdateTemplate" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySamplerYcbcrConversion" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSamplerYcbcrConversion" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceQueue2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkTrimCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSparseImageFormatProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMemoryProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceImageFormatProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFormatProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFeatures2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSparseMemoryRequirements2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferMemoryRequirements2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageMemoryRequirements2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumeratePhysicalDeviceGroups" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatchBase" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDeviceMask" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupPeerMemoryFeatures" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindImageMemory2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindBufferMemory2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateInstanceVersion" module Graphics.Vulkan.Ext.VK_KHR_variable_pointers -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures type VK_KHR_VARIABLE_POINTERS_SPEC_VERSION = 1 pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME = "VK_KHR_variable_pointers" pattern VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- | type = enum -- -- VkChromaLocation registry at www.khronos.org newtype VkChromaLocation VkChromaLocation :: Int32 -> VkChromaLocation pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation pattern VK_CHROMA_LOCATION_MIDPOINT :: VkChromaLocation newtype VkChromaLocationKHR VkChromaLocationKHR :: VkFlags -> VkChromaLocationKHR -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkSamplerYcbcrConversionCreateInfo type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo -- | Alias for VkSamplerYcbcrConversionImageFormatProperties type VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties -- | Alias for VkSamplerYcbcrConversionInfo type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: VkSamplerAddressMode -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode -- | Linear filter between mip levels pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode -- | type = enum -- -- VkSamplerReductionMode registry at www.khronos.org newtype VkSamplerReductionMode VkSamplerReductionMode :: Int32 -> VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion -- | just range expansion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion -- | aka HD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion -- | aka SD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion -- | aka UHD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion -- | type = enum -- -- VkSamplerYcbcrRange registry at www.khronos.org newtype VkSamplerYcbcrRange VkSamplerYcbcrRange :: Int32 -> VkSamplerYcbcrRange -- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped) pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange newtype VkSamplerCreateBitmask (a :: FlagType) VkSamplerCreateBitmask :: VkFlags -> VkSamplerCreateBitmask (a :: FlagType) pattern VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateBitmask FlagBit pattern VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateBitmask FlagMask type VkSamplerCreateFlagBits = VkSamplerCreateBitmask FlagBit type VkSamplerCreateFlags = VkSamplerCreateBitmask FlagMask newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: VkFlags -> VkSamplerReductionModeEXT newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR type VkCreateSamplerYcbcrConversionKHR = "vkCreateSamplerYcbcrConversionKHR" pattern VkCreateSamplerYcbcrConversionKHR :: CString -- | This is an alias for vkCreateSamplerYcbcrConversion. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSamplerYcbcrConversionKHR
--       ( VkDevice device
--       , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSamplerYcbcrConversion* pYcbcrConversion
--       )
--   
-- -- vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org type HS_vkCreateSamplerYcbcrConversionKHR = VkDevice " device" -> Ptr VkSamplerYcbcrConversionCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSamplerYcbcrConversion " pYcbcrConversion" -> IO VkResult type PFN_vkCreateSamplerYcbcrConversionKHR = FunPtr HS_vkCreateSamplerYcbcrConversionKHR type VkDestroySamplerYcbcrConversionKHR = "vkDestroySamplerYcbcrConversionKHR" pattern VkDestroySamplerYcbcrConversionKHR :: CString -- | This is an alias for vkDestroySamplerYcbcrConversion. -- --
--   void vkDestroySamplerYcbcrConversionKHR
--       ( VkDevice device
--       , VkSamplerYcbcrConversion ycbcrConversion
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org type HS_vkDestroySamplerYcbcrConversionKHR = VkDevice " device" -> VkSamplerYcbcrConversion " ycbcrConversion" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroySamplerYcbcrConversionKHR = FunPtr HS_vkDestroySamplerYcbcrConversionKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkComponentSwizzle registry at www.khronos.org newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle -- | type = enum -- -- VkComponentTypeNV registry at www.khronos.org newtype VkComponentTypeNV VkComponentTypeNV :: Int32 -> VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT64_NV :: VkComponentTypeNV -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter pattern VK_FILTER_NEAREST :: VkFilter pattern VK_FILTER_LINEAR :: VkFilter -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkComponentMapping {
--       VkComponentSwizzle r;
--       VkComponentSwizzle g;
--       VkComponentSwizzle b;
--       VkComponentSwizzle a;
--   } VkComponentMapping;
--   
-- -- VkComponentMapping registry at www.khronos.org type VkComponentMapping = VkStruct VkComponentMapping' -- |
--   typedef struct VkSamplerCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerCreateFlags   flags;
--       VkFilter               magFilter;
--       VkFilter               minFilter;
--       VkSamplerMipmapMode    mipmapMode;
--       VkSamplerAddressMode   addressModeU;
--       VkSamplerAddressMode   addressModeV;
--       VkSamplerAddressMode   addressModeW;
--       float                  mipLodBias;
--       VkBool32               anisotropyEnable;
--       float                  maxAnisotropy;
--       VkBool32               compareEnable;
--       VkCompareOp            compareOp;
--       float                  minLod;
--       float                  maxLod;
--       VkBorderColor          borderColor;
--       VkBool32               unnormalizedCoordinates;
--   } VkSamplerCreateInfo;
--   
-- -- VkSamplerCreateInfo registry at www.khronos.org type VkSamplerCreateInfo = VkStruct VkSamplerCreateInfo' -- |
--   typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                            pNext;
--       VkClearColorValue                                                                      customBorderColor;
--       VkFormat                                                                               format;
--   } VkSamplerCustomBorderColorCreateInfoEXT;
--   
-- -- VkSamplerCustomBorderColorCreateInfoEXT registry at -- www.khronos.org type VkSamplerCustomBorderColorCreateInfoEXT = VkStruct VkSamplerCustomBorderColorCreateInfoEXT' -- |
--   typedef struct VkSamplerReductionModeCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerReductionMode           reductionMode;
--   } VkSamplerReductionModeCreateInfo;
--   
-- -- VkSamplerReductionModeCreateInfo registry at www.khronos.org type VkSamplerReductionModeCreateInfo = VkStruct VkSamplerReductionModeCreateInfo' -- | Alias for VkSamplerReductionModeCreateInfo type VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo -- |
--   typedef struct VkSamplerYcbcrConversionCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkSamplerYcbcrModelConversion ycbcrModel;
--       VkSamplerYcbcrRange           ycbcrRange;
--       VkComponentMapping               components;
--       VkChromaLocation              xChromaOffset;
--       VkChromaLocation              yChromaOffset;
--       VkFilter                         chromaFilter;
--       VkBool32                         forceExplicitReconstruction;
--   } VkSamplerYcbcrConversionCreateInfo;
--   
-- -- VkSamplerYcbcrConversionCreateInfo registry at www.khronos.org type VkSamplerYcbcrConversionCreateInfo = VkStruct VkSamplerYcbcrConversionCreateInfo' -- |
--   typedef struct VkSamplerYcbcrConversionImageFormatProperties {
--       VkStructureType sType;
--       void*      pNext;
--       uint32_t                         combinedImageSamplerDescriptorCount;
--   } VkSamplerYcbcrConversionImageFormatProperties;
--   
-- -- VkSamplerYcbcrConversionImageFormatProperties registry at -- www.khronos.org type VkSamplerYcbcrConversionImageFormatProperties = VkStruct VkSamplerYcbcrConversionImageFormatProperties' -- |
--   typedef struct VkSamplerYcbcrConversionInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerYcbcrConversion      conversion;
--   } VkSamplerYcbcrConversionInfo;
--   
-- -- VkSamplerYcbcrConversionInfo registry at www.khronos.org type VkSamplerYcbcrConversionInfo = VkStruct VkSamplerYcbcrConversionInfo' type VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 14 pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME = "VK_KHR_sampler_ycbcr_conversion" pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR :: VkStructureType pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR :: VkObjectType pattern VK_FORMAT_G8B8G8R8_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR :: VkFormat pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR :: VkFormat pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR :: VkFormat pattern VK_FORMAT_R10X6_UNORM_PACK16_KHR :: VkFormat pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR :: VkFormat pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR :: VkFormat pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR :: VkFormat pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR :: VkFormat pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_R12X4_UNORM_PACK16_KHR :: VkFormat pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR :: VkFormat pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR :: VkFormat pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR :: VkFormat pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR :: VkFormat pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR :: VkFormat pattern VK_FORMAT_G16B16G16R16_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR :: VkFormat pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR :: VkFormat pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR :: VkFormat pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR :: VkFormat pattern VK_IMAGE_ASPECT_PLANE_0_BIT_KHR :: VkImageAspectBitmask a pattern VK_IMAGE_ASPECT_PLANE_1_BIT_KHR :: VkImageAspectBitmask a pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR :: VkImageAspectBitmask a pattern VK_IMAGE_CREATE_DISJOINT_BIT_KHR :: VkImageCreateBitmask a pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR :: VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR :: VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR :: VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR :: VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR :: VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR :: VkSamplerYcbcrRange pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR :: VkSamplerYcbcrRange pattern VK_CHROMA_LOCATION_COSITED_EVEN_KHR :: VkChromaLocation pattern VK_CHROMA_LOCATION_MIDPOINT_KHR :: VkChromaLocation pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: VkDebugReportObjectTypeEXT instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySamplerYcbcrConversionKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSamplerYcbcrConversionKHR" module Graphics.Vulkan.Ext.VK_KHR_multiview -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- | Alias for VkRenderPassMultiviewCreateInfo type VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo type VK_KHR_MULTIVIEW_SPEC_VERSION = 1 pattern VK_KHR_MULTIVIEW_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_MULTIVIEW_EXTENSION_NAME = "VK_KHR_multiview" pattern VK_KHR_MULTIVIEW_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR :: VkStructureType pattern VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR :: VkDependencyBitmask a module Graphics.Vulkan.Ext.VK_KHR_maintenance3 -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties type VkGetDescriptorSetLayoutSupportKHR = "vkGetDescriptorSetLayoutSupportKHR" pattern VkGetDescriptorSetLayoutSupportKHR :: CString -- | This is an alias for vkGetDescriptorSetLayoutSupport. -- --
--   void vkGetDescriptorSetLayoutSupportKHR
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , VkDescriptorSetLayoutSupport* pSupport
--       )
--   
-- -- vkGetDescriptorSetLayoutSupportKHR registry at www.khronos.org type HS_vkGetDescriptorSetLayoutSupportKHR = VkDevice " device" -> Ptr VkDescriptorSetLayoutCreateInfo " pCreateInfo" -> Ptr VkDescriptorSetLayoutSupport " pSupport" -> IO () type PFN_vkGetDescriptorSetLayoutSupportKHR = FunPtr HS_vkGetDescriptorSetLayoutSupportKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' -- |
--   typedef struct VkDescriptorPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPoolCreateFlags  flags;
--       uint32_t               maxSets;
--       uint32_t               poolSizeCount;
--       const VkDescriptorPoolSize* pPoolSizes;
--   } VkDescriptorPoolCreateInfo;
--   
-- -- VkDescriptorPoolCreateInfo registry at www.khronos.org type VkDescriptorPoolCreateInfo = VkStruct VkDescriptorPoolCreateInfo' -- |
--   typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               maxInlineUniformBlockBindings;
--   } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
--   
-- -- VkDescriptorPoolInlineUniformBlockCreateInfoEXT registry at -- www.khronos.org type VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkStruct VkDescriptorPoolInlineUniformBlockCreateInfoEXT' -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org type VkDescriptorPoolSize = VkStruct VkDescriptorPoolSize' -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org type VkDescriptorSetAllocateInfo = VkStruct VkDescriptorSetAllocateInfo' -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org type VkDescriptorSetLayoutBinding = VkStruct VkDescriptorSetLayoutBinding' -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       uint32_t                                           bindingCount;
--       const VkDescriptorBindingFlags* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfo;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfo registry at -- www.khronos.org type VkDescriptorSetLayoutBindingFlagsCreateInfo = VkStruct VkDescriptorSetLayoutBindingFlagsCreateInfo' -- | Alias for VkDescriptorSetLayoutBindingFlagsCreateInfo type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org type VkDescriptorSetLayoutCreateInfo = VkStruct VkDescriptorSetLayoutCreateInfo' -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org type VkDescriptorSetLayoutSupport = VkStruct VkDescriptorSetLayoutSupport' -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfo;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfo registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountAllocateInfo = VkStruct VkDescriptorSetVariableDescriptorCountAllocateInfo' -- | Alias for VkDescriptorSetVariableDescriptorCountAllocateInfo type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfo -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupport;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupport registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountLayoutSupport = VkStruct VkDescriptorSetVariableDescriptorCountLayoutSupport' -- | Alias for VkDescriptorSetVariableDescriptorCountLayoutSupport type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupport -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       const void*                               pNext;
--       VkDescriptorUpdateTemplateCreateFlags    flags;
--       uint32_t                 descriptorUpdateEntryCount;
--       const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
--       VkDescriptorUpdateTemplateType templateType;
--       VkDescriptorSetLayout descriptorSetLayout;
--       VkPipelineBindPoint pipelineBindPoint;
--       VkPipelineLayoutpipelineLayout;
--       uint32_t set;
--   } VkDescriptorUpdateTemplateCreateInfo;
--   
-- -- VkDescriptorUpdateTemplateCreateInfo registry at -- www.khronos.org type VkDescriptorUpdateTemplateCreateInfo = VkStruct VkDescriptorUpdateTemplateCreateInfo' -- | Alias for VkDescriptorUpdateTemplateCreateInfo type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo -- |
--   typedef struct VkDescriptorUpdateTemplateEntry {
--       uint32_t                         dstBinding;
--       uint32_t                         dstArrayElement;
--       uint32_t                         descriptorCount;
--       VkDescriptorType                 descriptorType;
--       size_t                           offset;
--       size_t                           stride;
--   } VkDescriptorUpdateTemplateEntry;
--   
-- -- VkDescriptorUpdateTemplateEntry registry at www.khronos.org type VkDescriptorUpdateTemplateEntry = VkStruct VkDescriptorUpdateTemplateEntry' -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry type VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 pattern VK_KHR_MAINTENANCE3_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" pattern VK_KHR_MAINTENANCE3_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDescriptorSetLayoutSupportKHR" module Graphics.Vulkan.Ext.VK_KHR_maintenance2 -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- | Alias for VkInputAttachmentAspectReference type VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- | Alias for VkPipelineTessellationDomainOriginStateCreateInfo type VkPipelineTessellationDomainOriginStateCreateInfoKHR = VkPipelineTessellationDomainOriginStateCreateInfo -- | type = enum -- -- VkPointClippingBehavior registry at www.khronos.org newtype VkPointClippingBehavior VkPointClippingBehavior :: Int32 -> VkPointClippingBehavior pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES :: VkPointClippingBehavior pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY :: VkPointClippingBehavior newtype VkPointClippingBehaviorKHR VkPointClippingBehaviorKHR :: VkFlags -> VkPointClippingBehaviorKHR -- | Alias for VkRenderPassInputAttachmentAspectCreateInfo type VkRenderPassInputAttachmentAspectCreateInfoKHR = VkRenderPassInputAttachmentAspectCreateInfo -- | type = enum -- -- VkTessellationDomainOrigin registry at www.khronos.org newtype VkTessellationDomainOrigin VkTessellationDomainOrigin :: Int32 -> VkTessellationDomainOrigin pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT :: VkTessellationDomainOrigin pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT :: VkTessellationDomainOrigin newtype VkTessellationDomainOriginKHR VkTessellationDomainOriginKHR :: VkFlags -> VkTessellationDomainOriginKHR type VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 pattern VK_KHR_MAINTENANCE2_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" pattern VK_KHR_MAINTENANCE2_EXTENSION_NAME :: CString pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR :: VkImageCreateBitmask a pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR :: VkImageCreateBitmask a pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR :: VkStructureType pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR :: VkImageLayout pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR :: VkImageLayout pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR :: VkPointClippingBehavior pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR :: VkPointClippingBehavior pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR :: VkTessellationDomainOrigin pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR :: VkTessellationDomainOrigin module Graphics.Vulkan.Ext.VK_KHR_maintenance1 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR type VkTrimCommandPoolKHR = "vkTrimCommandPoolKHR" pattern VkTrimCommandPoolKHR :: CString -- | This is an alias for vkTrimCommandPool. -- --
--   void vkTrimCommandPoolKHR
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolTrimFlags flags
--       )
--   
-- -- vkTrimCommandPoolKHR registry at www.khronos.org type HS_vkTrimCommandPoolKHR = VkDevice " device" -> VkCommandPool " commandPool" -> VkCommandPoolTrimFlags " flags" -> IO () type PFN_vkTrimCommandPoolKHR = FunPtr HS_vkTrimCommandPoolKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 pattern VK_KHR_MAINTENANCE1_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" pattern VK_KHR_MAINTENANCE1_EXTENSION_NAME :: CString pattern VK_ERROR_OUT_OF_POOL_MEMORY_KHR :: VkResult pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR :: VkFormatFeatureBitmask a pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR :: VkImageCreateBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkTrimCommandPoolKHR" module Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2 -- | Alias for VkFormatProperties2 type VkFormatProperties2KHR = VkFormatProperties2 -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- | Alias for VkQueueFamilyProperties2 type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2 -- | Alias for VkSparseImageFormatProperties2 type VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2 type VkGetPhysicalDeviceFeatures2KHR = "vkGetPhysicalDeviceFeatures2KHR" pattern VkGetPhysicalDeviceFeatures2KHR :: CString -- | This is an alias for vkGetPhysicalDeviceFeatures2. -- --
--   void vkGetPhysicalDeviceFeatures2KHR
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures2* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures2KHR registry at www.khronos.org type HS_vkGetPhysicalDeviceFeatures2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceFeatures2 " pFeatures" -> IO () type PFN_vkGetPhysicalDeviceFeatures2KHR = FunPtr HS_vkGetPhysicalDeviceFeatures2KHR type VkGetPhysicalDeviceProperties2KHR = "vkGetPhysicalDeviceProperties2KHR" pattern VkGetPhysicalDeviceProperties2KHR :: CString -- | This is an alias for vkGetPhysicalDeviceProperties2. -- --
--   void vkGetPhysicalDeviceProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties2KHR registry at www.khronos.org type HS_vkGetPhysicalDeviceProperties2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceProperties2 " pProperties" -> IO () type PFN_vkGetPhysicalDeviceProperties2KHR = FunPtr HS_vkGetPhysicalDeviceProperties2KHR type VkGetPhysicalDeviceFormatProperties2KHR = "vkGetPhysicalDeviceFormatProperties2KHR" pattern VkGetPhysicalDeviceFormatProperties2KHR :: CString -- | This is an alias for vkGetPhysicalDeviceFormatProperties2. -- --
--   void vkGetPhysicalDeviceFormatProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties2* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceFormatProperties2KHR = VkPhysicalDevice " physicalDevice" -> VkFormat " format" -> Ptr VkFormatProperties2 " pFormatProperties" -> IO () type PFN_vkGetPhysicalDeviceFormatProperties2KHR = FunPtr HS_vkGetPhysicalDeviceFormatProperties2KHR type VkGetPhysicalDeviceImageFormatProperties2KHR = "vkGetPhysicalDeviceImageFormatProperties2KHR" pattern VkGetPhysicalDeviceImageFormatProperties2KHR :: CString -- | This is an alias for -- vkGetPhysicalDeviceImageFormatProperties2. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo
--       , VkImageFormatProperties2* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceImageFormatProperties2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceImageFormatInfo2 " pImageFormatInfo" -> Ptr VkImageFormatProperties2 " pImageFormatProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR = FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2KHR type VkGetPhysicalDeviceQueueFamilyProperties2KHR = "vkGetPhysicalDeviceQueueFamilyProperties2KHR" pattern VkGetPhysicalDeviceQueueFamilyProperties2KHR :: CString -- | This is an alias for -- vkGetPhysicalDeviceQueueFamilyProperties2. -- --
--   void vkGetPhysicalDeviceQueueFamilyProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties2* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pQueueFamilyPropertyCount" -> Ptr VkQueueFamilyProperties2 " pQueueFamilyProperties" -> IO () type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR = FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR type VkGetPhysicalDeviceMemoryProperties2KHR = "vkGetPhysicalDeviceMemoryProperties2KHR" pattern VkGetPhysicalDeviceMemoryProperties2KHR :: CString -- | This is an alias for vkGetPhysicalDeviceMemoryProperties2. -- --
--   void vkGetPhysicalDeviceMemoryProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties2* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceMemoryProperties2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceMemoryProperties2 " pMemoryProperties" -> IO () type PFN_vkGetPhysicalDeviceMemoryProperties2KHR = FunPtr HS_vkGetPhysicalDeviceMemoryProperties2KHR type VkGetPhysicalDeviceSparseImageFormatProperties2KHR = "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" pattern VkGetPhysicalDeviceSparseImageFormatProperties2KHR :: CString -- | This is an alias for -- vkGetPhysicalDeviceSparseImageFormatProperties2. -- --
--   void vkGetPhysicalDeviceSparseImageFormatProperties2KHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties2* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 " pFormatInfo" -> Ptr Word32 " pPropertyCount" -> Ptr VkSparseImageFormatProperties2 " pProperties" -> IO () type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask (a :: FlagType) pattern VkMemoryAllocateFlagBits :: VkFlags -> VkMemoryAllocateBitmask FlagBit pattern VkMemoryAllocateFlags :: VkFlags -> VkMemoryAllocateBitmask FlagMask -- | Force allocation on specific devices -- -- bitpos = 0 pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT :: VkMemoryAllocateBitmask a newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask (a :: FlagType) pattern VkMemoryHeapFlagBits :: VkFlags -> VkMemoryHeapBitmask FlagBit pattern VkMemoryHeapFlags :: VkFlags -> VkMemoryHeapBitmask FlagMask -- | If set, heap represents device memory -- -- bitpos = 0 pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a -- | type = enum -- -- VkMemoryOverallocationBehaviorAMD registry at www.khronos.org newtype VkMemoryOverallocationBehaviorAMD VkMemoryOverallocationBehaviorAMD :: Int32 -> VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask (a :: FlagType) pattern VkMemoryPropertyFlagBits :: VkFlags -> VkMemoryPropertyBitmask FlagBit pattern VkMemoryPropertyFlags :: VkFlags -> VkMemoryPropertyBitmask FlagMask -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: VkMemoryPropertyBitmask a -- | Memory is mappable by host -- -- bitpos = 1 pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT :: VkMemoryPropertyBitmask a -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT :: VkMemoryPropertyBitmask a -- | Memory will be cached by the host -- -- bitpos = 3 pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT :: VkMemoryPropertyBitmask a -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: VkMemoryPropertyBitmask a type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask (a :: FlagType) pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask -- | Queue supports graphics operations -- -- bitpos = 0 pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a -- | Queue supports compute operations -- -- bitpos = 1 pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a -- | Queue supports transfer operations -- -- bitpos = 2 pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: VkQueueGlobalPriorityEXT type VkQueueFlagBits = VkQueueBitmask FlagBit type VkQueueFlags = VkQueueBitmask FlagMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask (a :: FlagType) pattern VkSparseImageFormatFlagBits :: VkFlags -> VkSparseImageFormatBitmask FlagBit pattern VkSparseImageFormatFlags :: VkFlags -> VkSparseImageFormatBitmask FlagMask -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: VkSparseImageFormatBitmask a -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: VkSparseImageFormatBitmask a -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: VkSparseImageFormatBitmask a newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask (a :: FlagType) pattern VkSparseMemoryBindFlagBits :: VkFlags -> VkSparseMemoryBindBitmask FlagBit pattern VkSparseMemoryBindFlags :: VkFlags -> VkSparseMemoryBindBitmask FlagMask -- | Operation binds resource metadata to memory -- -- bitpos = 0 pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT :: VkSparseMemoryBindBitmask a type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org type VkDeviceGroupBindSparseInfo = VkStruct VkDeviceGroupBindSparseInfo' -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- |
--   typedef struct VkDeviceGroupCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--   } VkDeviceGroupCommandBufferBeginInfo;
--   
-- -- VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org type VkDeviceGroupCommandBufferBeginInfo = VkStruct VkDeviceGroupCommandBufferBeginInfo' -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- |
--   typedef struct VkDeviceGroupDeviceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         physicalDeviceCount;
--       const VkPhysicalDevice*  pPhysicalDevices;
--   } VkDeviceGroupDeviceCreateInfo;
--   
-- -- VkDeviceGroupDeviceCreateInfo registry at www.khronos.org type VkDeviceGroupDeviceCreateInfo = VkStruct VkDeviceGroupDeviceCreateInfo' -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' -- |
--   typedef struct VkDeviceGroupRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--       uint32_t         deviceRenderAreaCount;
--       const VkRect2D*  pDeviceRenderAreas;
--   } VkDeviceGroupRenderPassBeginInfo;
--   
-- -- VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org type VkDeviceGroupRenderPassBeginInfo = VkStruct VkDeviceGroupRenderPassBeginInfo' -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- |
--   typedef struct VkDeviceGroupSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreCount;
--       const uint32_t*    pWaitSemaphoreDeviceIndices;
--       uint32_t         commandBufferCount;
--       const uint32_t*    pCommandBufferDeviceMasks;
--       uint32_t         signalSemaphoreCount;
--       const uint32_t*  pSignalSemaphoreDeviceIndices;
--   } VkDeviceGroupSubmitInfo;
--   
-- -- VkDeviceGroupSubmitInfo registry at www.khronos.org type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- |
--   typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--   } VkDeviceMemoryOpaqueCaptureAddressInfo;
--   
-- -- VkDeviceMemoryOpaqueCaptureAddressInfo registry at -- www.khronos.org type VkDeviceMemoryOpaqueCaptureAddressInfo = VkStruct VkDeviceMemoryOpaqueCaptureAddressInfo' -- | Alias for VkDeviceMemoryOpaqueCaptureAddressInfo type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkFormatProperties {
--       VkFormatFeatureFlags   linearTilingFeatures;
--       VkFormatFeatureFlags   optimalTilingFeatures;
--       VkFormatFeatureFlags   bufferFeatures;
--   } VkFormatProperties;
--   
-- -- VkFormatProperties registry at www.khronos.org type VkFormatProperties = VkStruct VkFormatProperties' -- |
--   typedef struct VkFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkFormatProperties               formatProperties;
--   } VkFormatProperties2;
--   
-- -- VkFormatProperties2 registry at www.khronos.org type VkFormatProperties2 = VkStruct VkFormatProperties2' -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkQueueFamilyCheckpointPropertiesNV {
--       VkStructureType sType;
--       void*           pNext;
--       VkPipelineStageFlags checkpointExecutionStageMask;
--   } VkQueueFamilyCheckpointPropertiesNV;
--   
-- -- VkQueueFamilyCheckpointPropertiesNV registry at www.khronos.org type VkQueueFamilyCheckpointPropertiesNV = VkStruct VkQueueFamilyCheckpointPropertiesNV' -- |
--   typedef struct VkQueueFamilyProperties {
--       VkQueueFlags           queueFlags;
--       uint32_t               queueCount;
--       uint32_t               timestampValidBits;
--       VkExtent3D             minImageTransferGranularity;
--   } VkQueueFamilyProperties;
--   
-- -- VkQueueFamilyProperties registry at www.khronos.org type VkQueueFamilyProperties = VkStruct VkQueueFamilyProperties' -- |
--   typedef struct VkQueueFamilyProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkQueueFamilyProperties          queueFamilyProperties;
--   } VkQueueFamilyProperties2;
--   
-- -- VkQueueFamilyProperties2 registry at www.khronos.org type VkQueueFamilyProperties2 = VkStruct VkQueueFamilyProperties2' -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org type VkSparseBufferMemoryBindInfo = VkStruct VkSparseBufferMemoryBindInfo' -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org type VkSparseImageFormatProperties = VkStruct VkSparseImageFormatProperties' -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org type VkSparseImageFormatProperties2 = VkStruct VkSparseImageFormatProperties2' -- |
--   typedef struct VkSparseImageMemoryBind {
--       VkImageSubresource     subresource;
--       VkOffset3D             offset;
--       VkExtent3D             extent;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseImageMemoryBind;
--   
-- -- VkSparseImageMemoryBind registry at www.khronos.org type VkSparseImageMemoryBind = VkStruct VkSparseImageMemoryBind' -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org type VkSparseImageMemoryBindInfo = VkStruct VkSparseImageMemoryBindInfo' -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org type VkSparseImageMemoryRequirements = VkStruct VkSparseImageMemoryRequirements' -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org type VkSparseImageMemoryRequirements2 = VkStruct VkSparseImageMemoryRequirements2' -- | Alias for VkSparseImageMemoryRequirements2 type VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2 -- |
--   typedef struct VkSparseImageOpaqueMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseImageOpaqueMemoryBindInfo;
--   
-- -- VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org type VkSparseImageOpaqueMemoryBindInfo = VkStruct VkSparseImageOpaqueMemoryBindInfo' -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org type VkSparseMemoryBind = VkStruct VkSparseMemoryBind' type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 2 pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_physical_device_properties2" pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMemoryProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceImageFormatProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFormatProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFeatures2KHR" module Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2 -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- | Alias for VkSparseImageMemoryRequirements2 type VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2 type VkGetImageMemoryRequirements2KHR = "vkGetImageMemoryRequirements2KHR" pattern VkGetImageMemoryRequirements2KHR :: CString -- | This is an alias for vkGetImageMemoryRequirements2. -- --
--   void vkGetImageMemoryRequirements2KHR
--       ( VkDevice device
--       , const VkImageMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements2KHR registry at www.khronos.org type HS_vkGetImageMemoryRequirements2KHR = VkDevice " device" -> Ptr VkImageMemoryRequirementsInfo2 " pInfo" -> Ptr VkMemoryRequirements2 " pMemoryRequirements" -> IO () type PFN_vkGetImageMemoryRequirements2KHR = FunPtr HS_vkGetImageMemoryRequirements2KHR type VkGetBufferMemoryRequirements2KHR = "vkGetBufferMemoryRequirements2KHR" pattern VkGetBufferMemoryRequirements2KHR :: CString -- | This is an alias for vkGetBufferMemoryRequirements2. -- --
--   void vkGetBufferMemoryRequirements2KHR
--       ( VkDevice device
--       , const VkBufferMemoryRequirementsInfo2* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements2KHR registry at www.khronos.org type HS_vkGetBufferMemoryRequirements2KHR = VkDevice " device" -> Ptr VkBufferMemoryRequirementsInfo2 " pInfo" -> Ptr VkMemoryRequirements2 " pMemoryRequirements" -> IO () type PFN_vkGetBufferMemoryRequirements2KHR = FunPtr HS_vkGetBufferMemoryRequirements2KHR type VkGetImageSparseMemoryRequirements2KHR = "vkGetImageSparseMemoryRequirements2KHR" pattern VkGetImageSparseMemoryRequirements2KHR :: CString -- | This is an alias for vkGetImageSparseMemoryRequirements2. -- --
--   void vkGetImageSparseMemoryRequirements2KHR
--       ( VkDevice device
--       , const VkImageSparseMemoryRequirementsInfo2* pInfo
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements2KHR registry at -- www.khronos.org type HS_vkGetImageSparseMemoryRequirements2KHR = VkDevice " device" -> Ptr VkImageSparseMemoryRequirementsInfo2 " pInfo" -> Ptr Word32 " pSparseMemoryRequirementCount" -> Ptr VkSparseImageMemoryRequirements2 " pSparseMemoryRequirements" -> IO () type PFN_vkGetImageSparseMemoryRequirements2KHR = FunPtr HS_vkGetImageSparseMemoryRequirements2KHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask (a :: FlagType) pattern VkSparseImageFormatFlagBits :: VkFlags -> VkSparseImageFormatBitmask FlagBit pattern VkSparseImageFormatFlags :: VkFlags -> VkSparseImageFormatBitmask FlagMask -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: VkSparseImageFormatBitmask a -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: VkSparseImageFormatBitmask a -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: VkSparseImageFormatBitmask a newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask (a :: FlagType) pattern VkSparseMemoryBindFlagBits :: VkFlags -> VkSparseMemoryBindBitmask FlagBit pattern VkSparseMemoryBindFlags :: VkFlags -> VkSparseMemoryBindBitmask FlagMask -- | Operation binds resource metadata to memory -- -- bitpos = 0 pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT :: VkSparseMemoryBindBitmask a type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize                       srcOffset;
--       VkDeviceSize                       dstOffset;
--       VkDeviceSize size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org type VkBufferCopy = VkStruct VkBufferCopy' -- |
--   typedef struct VkBufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferCreateFlags    flags;
--       VkDeviceSize           size;
--       VkBufferUsageFlags     usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--   } VkBufferCreateInfo;
--   
-- -- VkBufferCreateInfo registry at www.khronos.org type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- |
--   typedef struct VkBufferDeviceAddressCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceAddress                  deviceAddress;
--   } VkBufferDeviceAddressCreateInfoEXT;
--   
-- -- VkBufferDeviceAddressCreateInfoEXT registry at www.khronos.org type VkBufferDeviceAddressCreateInfoEXT = VkStruct VkBufferDeviceAddressCreateInfoEXT' -- |
--   typedef struct VkBufferDeviceAddressInfo {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkBuffer                                               buffer;
--   } VkBufferDeviceAddressInfo;
--   
-- -- VkBufferDeviceAddressInfo registry at www.khronos.org type VkBufferDeviceAddressInfo = VkStruct VkBufferDeviceAddressInfo' -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org type VkBufferImageCopy = VkStruct VkBufferImageCopy' -- |
--   typedef struct VkBufferMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkBufferMemoryBarrier;
--   
-- -- VkBufferMemoryBarrier registry at www.khronos.org type VkBufferMemoryBarrier = VkStruct VkBufferMemoryBarrier' -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org type VkBufferMemoryRequirementsInfo2 = VkStruct VkBufferMemoryRequirementsInfo2' -- |
--   typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint64_t                         opaqueCaptureAddress;
--   } VkBufferOpaqueCaptureAddressCreateInfo;
--   
-- -- VkBufferOpaqueCaptureAddressCreateInfo registry at -- www.khronos.org type VkBufferOpaqueCaptureAddressCreateInfo = VkStruct VkBufferOpaqueCaptureAddressCreateInfo' -- | Alias for VkBufferOpaqueCaptureAddressCreateInfo type VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org type VkBufferViewCreateInfo = VkStruct VkBufferViewCreateInfo' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org type VkSparseBufferMemoryBindInfo = VkStruct VkSparseBufferMemoryBindInfo' -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org type VkSparseImageFormatProperties = VkStruct VkSparseImageFormatProperties' -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org type VkSparseImageFormatProperties2 = VkStruct VkSparseImageFormatProperties2' -- | Alias for VkSparseImageFormatProperties2 type VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2 -- |
--   typedef struct VkSparseImageMemoryBind {
--       VkImageSubresource     subresource;
--       VkOffset3D             offset;
--       VkExtent3D             extent;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseImageMemoryBind;
--   
-- -- VkSparseImageMemoryBind registry at www.khronos.org type VkSparseImageMemoryBind = VkStruct VkSparseImageMemoryBind' -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org type VkSparseImageMemoryBindInfo = VkStruct VkSparseImageMemoryBindInfo' -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org type VkSparseImageMemoryRequirements = VkStruct VkSparseImageMemoryRequirements' -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org type VkSparseImageMemoryRequirements2 = VkStruct VkSparseImageMemoryRequirements2' -- |
--   typedef struct VkSparseImageOpaqueMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseImageOpaqueMemoryBindInfo;
--   
-- -- VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org type VkSparseImageOpaqueMemoryBindInfo = VkStruct VkSparseImageOpaqueMemoryBindInfo' -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org type VkSparseMemoryBind = VkStruct VkSparseMemoryBind' type VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1 pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = "VK_KHR_get_memory_requirements2" pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSparseMemoryRequirements2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferMemoryRequirements2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageMemoryRequirements2KHR" module Graphics.Vulkan.Ext.VK_KHR_external_semaphore -- | Alias for VkExportSemaphoreCreateInfo type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask (a :: FlagType) pattern VkSemaphoreImportFlagBits :: VkFlags -> VkSemaphoreImportBitmask FlagBit pattern VkSemaphoreImportFlags :: VkFlags -> VkSemaphoreImportBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT :: VkSemaphoreImportBitmask a -- | type = enum -- -- VkSemaphoreType registry at www.khronos.org newtype VkSemaphoreType VkSemaphoreType :: Int32 -> VkSemaphoreType pattern VK_SEMAPHORE_TYPE_BINARY :: VkSemaphoreType pattern VK_SEMAPHORE_TYPE_TIMELINE :: VkSemaphoreType newtype VkSemaphoreWaitBitmask (a :: FlagType) VkSemaphoreWaitBitmask :: VkFlags -> VkSemaphoreWaitBitmask (a :: FlagType) pattern VkSemaphoreWaitFlagBits :: VkFlags -> VkSemaphoreWaitBitmask FlagBit pattern VkSemaphoreWaitFlags :: VkFlags -> VkSemaphoreWaitBitmask FlagMask -- | bitpos = 0 pattern VK_SEMAPHORE_WAIT_ANY_BIT :: VkSemaphoreWaitBitmask a type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask newtype VkSemaphoreTypeKHR VkSemaphoreTypeKHR :: VkFlags -> VkSemaphoreTypeKHR type VkSemaphoreWaitFlagBits = VkSemaphoreWaitBitmask FlagBit newtype VkSemaphoreWaitFlagBitsKHR VkSemaphoreWaitFlagBitsKHR :: VkFlags -> VkSemaphoreWaitFlagBitsKHR type VkSemaphoreWaitFlags = VkSemaphoreWaitBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR type VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME = "VK_KHR_external_semaphore" pattern VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR :: VkStructureType pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR :: VkSemaphoreImportBitmask a module Graphics.Vulkan.Ext.VK_KHR_external_memory_capabilities -- | Alias for VkExternalBufferProperties type VkExternalBufferPropertiesKHR = VkExternalBufferProperties -- | Alias for VkExternalImageFormatProperties type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Alias for VkExternalMemoryProperties type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties type VkGetPhysicalDeviceExternalBufferPropertiesKHR = "vkGetPhysicalDeviceExternalBufferPropertiesKHR" pattern VkGetPhysicalDeviceExternalBufferPropertiesKHR :: CString -- | This is an alias for -- vkGetPhysicalDeviceExternalBufferProperties. -- --
--   void vkGetPhysicalDeviceExternalBufferPropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo
--       , VkExternalBufferProperties* pExternalBufferProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceExternalBufferInfo " pExternalBufferInfo" -> Ptr VkExternalBufferProperties " pExternalBufferProperties" -> IO () type PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR = FunPtr HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask (a :: FlagType) pattern VkBufferCreateFlagBits :: VkFlags -> VkBufferCreateBitmask FlagBit pattern VkBufferCreateFlags :: VkFlags -> VkBufferCreateBitmask FlagMask -- | Buffer should support sparse backing -- -- bitpos = 0 pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT :: VkBufferCreateBitmask a -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: VkBufferCreateBitmask a -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT :: VkBufferCreateBitmask a newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask (a :: FlagType) pattern VkBufferUsageFlagBits :: VkFlags -> VkBufferUsageBitmask FlagBit pattern VkBufferUsageFlags :: VkFlags -> VkBufferUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a -- | Can be used as TBO -- -- bitpos = 2 pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as IBO -- -- bitpos = 3 pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as UBO -- -- bitpos = 4 pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as SSBO -- -- bitpos = 5 pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT :: VkBufferUsageBitmask a type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org type VkExternalBufferProperties = VkStruct VkExternalBufferProperties' -- |
--   typedef struct VkExternalFenceProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalFenceHandleTypeFlags compatibleHandleTypes;
--       VkExternalFenceFeatureFlags externalFenceFeatures;
--   } VkExternalFenceProperties;
--   
-- -- VkExternalFenceProperties registry at www.khronos.org type VkExternalFenceProperties = VkStruct VkExternalFenceProperties' -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org type VkExternalImageFormatProperties = VkStruct VkExternalImageFormatProperties' -- |
--   typedef struct VkExternalImageFormatPropertiesNV {
--       VkImageFormatProperties          imageFormatProperties;
--       VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
--   } VkExternalImageFormatPropertiesNV;
--   
-- -- VkExternalImageFormatPropertiesNV registry at www.khronos.org type VkExternalImageFormatPropertiesNV = VkStruct VkExternalImageFormatPropertiesNV' -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org type VkExternalMemoryBufferCreateInfo = VkStruct VkExternalMemoryBufferCreateInfo' -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org type VkExternalMemoryImageCreateInfo = VkStruct VkExternalMemoryImageCreateInfo' -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org type VkExternalMemoryImageCreateInfoNV = VkStruct VkExternalMemoryImageCreateInfoNV' -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org type VkExternalMemoryProperties = VkStruct VkExternalMemoryProperties' -- |
--   typedef struct VkExternalSemaphoreProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
--       VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
--   } VkExternalSemaphoreProperties;
--   
-- -- VkExternalSemaphoreProperties registry at www.khronos.org type VkExternalSemaphoreProperties = VkStruct VkExternalSemaphoreProperties' -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' type VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities" pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: VkStructureType pattern VK_LUID_SIZE_KHR :: (Num a, Eq a) => a pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: VkExternalMemoryHandleTypeBitmask a pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: VkExternalMemoryHandleTypeBitmask a pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: VkExternalMemoryHandleTypeBitmask a pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR :: VkExternalMemoryHandleTypeBitmask a pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR :: VkExternalMemoryHandleTypeBitmask a pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR :: VkExternalMemoryHandleTypeBitmask a pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR :: VkExternalMemoryHandleTypeBitmask a pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR :: VkExternalMemoryFeatureBitmask a pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR :: VkExternalMemoryFeatureBitmask a pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR :: VkExternalMemoryFeatureBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalBufferPropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties type VkGetPhysicalDeviceExternalSemaphorePropertiesKHR = "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" pattern VkGetPhysicalDeviceExternalSemaphorePropertiesKHR :: CString -- | This is an alias for -- vkGetPhysicalDeviceExternalSemaphoreProperties. -- --
--   void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo
--       , VkExternalSemaphoreProperties* pExternalSemaphoreProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceExternalSemaphoreInfo " pExternalSemaphoreInfo" -> Ptr VkExternalSemaphoreProperties " pExternalSemaphoreProperties" -> IO () type PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = FunPtr HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org type VkExternalBufferProperties = VkStruct VkExternalBufferProperties' -- | Alias for VkExternalBufferProperties type VkExternalBufferPropertiesKHR = VkExternalBufferProperties -- |
--   typedef struct VkExternalFenceProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalFenceHandleTypeFlags compatibleHandleTypes;
--       VkExternalFenceFeatureFlags externalFenceFeatures;
--   } VkExternalFenceProperties;
--   
-- -- VkExternalFenceProperties registry at www.khronos.org type VkExternalFenceProperties = VkStruct VkExternalFenceProperties' -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org type VkExternalImageFormatProperties = VkStruct VkExternalImageFormatProperties' -- | Alias for VkExternalImageFormatProperties type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties -- |
--   typedef struct VkExternalImageFormatPropertiesNV {
--       VkImageFormatProperties          imageFormatProperties;
--       VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
--   } VkExternalImageFormatPropertiesNV;
--   
-- -- VkExternalImageFormatPropertiesNV registry at www.khronos.org type VkExternalImageFormatPropertiesNV = VkStruct VkExternalImageFormatPropertiesNV' -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org type VkExternalMemoryBufferCreateInfo = VkStruct VkExternalMemoryBufferCreateInfo' -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org type VkExternalMemoryImageCreateInfo = VkStruct VkExternalMemoryImageCreateInfo' -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org type VkExternalMemoryImageCreateInfoNV = VkStruct VkExternalMemoryImageCreateInfoNV' -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org type VkExternalMemoryProperties = VkStruct VkExternalMemoryProperties' -- | Alias for VkExternalMemoryProperties type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties -- |
--   typedef struct VkExternalSemaphoreProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
--       VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
--   } VkExternalSemaphoreProperties;
--   
-- -- VkExternalSemaphoreProperties registry at www.khronos.org type VkExternalSemaphoreProperties = VkStruct VkExternalSemaphoreProperties' -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' type VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_semaphore_capabilities" pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: VkStructureType pattern VK_LUID_SIZE_KHR :: (Num a, Eq a) => a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR :: VkExternalSemaphoreFeatureBitmask a pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR :: VkExternalSemaphoreFeatureBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_external_memory -- | Alias for VkExportMemoryAllocateInfo type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo type VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_KHR_external_memory" pattern VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR :: VkStructureType pattern VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR :: VkResult pattern VK_QUEUE_FAMILY_EXTERNAL_KHR :: Word32 module Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask (a :: FlagType) pattern VkExternalFenceFeatureFlagBits :: VkFlags -> VkExternalFenceFeatureBitmask FlagBit pattern VkExternalFenceFeatureFlags :: VkFlags -> VkExternalFenceFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT :: VkExternalFenceFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT :: VkExternalFenceFeatureBitmask a newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask (a :: FlagType) pattern VkExternalFenceHandleTypeFlagBits :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit pattern VkExternalFenceHandleTypeFlags :: VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalFenceHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalFenceHandleTypeBitmask a newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask (a :: FlagType) pattern VkExternalMemoryFeatureFlagBits :: VkFlags -> VkExternalMemoryFeatureBitmask FlagBit pattern VkExternalMemoryFeatureFlags :: VkFlags -> VkExternalMemoryFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT :: VkExternalMemoryFeatureBitmask a newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV (a :: FlagType) pattern VkExternalMemoryFeatureFlagBitsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit pattern VkExternalMemoryFeatureFlagsNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV :: VkExternalMemoryFeatureBitmaskNV a newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBitsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit pattern VkExternalMemoryHandleTypeFlagsNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV :: VkExternalMemoryHandleTypeBitmaskNV a newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask (a :: FlagType) pattern VkExternalMemoryHandleTypeFlagBits :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit pattern VkExternalMemoryHandleTypeFlags :: VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 5 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT :: VkExternalMemoryHandleTypeBitmask a -- | bitpos = 6 pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT :: VkExternalMemoryHandleTypeBitmask a newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask (a :: FlagType) pattern VkExternalSemaphoreFeatureFlagBits :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit pattern VkExternalSemaphoreFeatureFlags :: VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: VkExternalSemaphoreFeatureBitmask a newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) pattern VkExternalSemaphoreHandleTypeFlagBits :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit pattern VkExternalSemaphoreHandleTypeFlags :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask -- | bitpos = 0 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 1 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 2 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 3 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT :: VkExternalSemaphoreHandleTypeBitmask a -- | bitpos = 4 pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT :: VkExternalSemaphoreHandleTypeBitmask a type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties type VkGetPhysicalDeviceExternalFencePropertiesKHR = "vkGetPhysicalDeviceExternalFencePropertiesKHR" pattern VkGetPhysicalDeviceExternalFencePropertiesKHR :: CString -- | This is an alias for -- vkGetPhysicalDeviceExternalFenceProperties. -- --
--   void vkGetPhysicalDeviceExternalFencePropertiesKHR
--       ( VkPhysicalDevice physicalDevice
--       , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo
--       , VkExternalFenceProperties* pExternalFenceProperties
--       )
--   
-- -- vkGetPhysicalDeviceExternalFencePropertiesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDeviceExternalFencePropertiesKHR = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceExternalFenceInfo " pExternalFenceInfo" -> Ptr VkExternalFenceProperties " pExternalFenceProperties" -> IO () type PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR = FunPtr HS_vkGetPhysicalDeviceExternalFencePropertiesKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org type VkExternalBufferProperties = VkStruct VkExternalBufferProperties' -- | Alias for VkExternalBufferProperties type VkExternalBufferPropertiesKHR = VkExternalBufferProperties -- |
--   typedef struct VkExternalFenceProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalFenceHandleTypeFlags compatibleHandleTypes;
--       VkExternalFenceFeatureFlags externalFenceFeatures;
--   } VkExternalFenceProperties;
--   
-- -- VkExternalFenceProperties registry at www.khronos.org type VkExternalFenceProperties = VkStruct VkExternalFenceProperties' -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org type VkExternalImageFormatProperties = VkStruct VkExternalImageFormatProperties' -- | Alias for VkExternalImageFormatProperties type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties -- |
--   typedef struct VkExternalImageFormatPropertiesNV {
--       VkImageFormatProperties          imageFormatProperties;
--       VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
--   } VkExternalImageFormatPropertiesNV;
--   
-- -- VkExternalImageFormatPropertiesNV registry at www.khronos.org type VkExternalImageFormatPropertiesNV = VkStruct VkExternalImageFormatPropertiesNV' -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org type VkExternalMemoryBufferCreateInfo = VkStruct VkExternalMemoryBufferCreateInfo' -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org type VkExternalMemoryImageCreateInfo = VkStruct VkExternalMemoryImageCreateInfo' -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org type VkExternalMemoryImageCreateInfoNV = VkStruct VkExternalMemoryImageCreateInfoNV' -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org type VkExternalMemoryProperties = VkStruct VkExternalMemoryProperties' -- | Alias for VkExternalMemoryProperties type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties -- |
--   typedef struct VkExternalSemaphoreProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
--       VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
--   } VkExternalSemaphoreProperties;
--   
-- -- VkExternalSemaphoreProperties registry at www.khronos.org type VkExternalSemaphoreProperties = VkStruct VkExternalSemaphoreProperties' -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' type VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_fence_capabilities" pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR :: VkStructureType pattern VK_LUID_SIZE_KHR :: (Num a, Eq a) => a pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR :: VkExternalFenceHandleTypeBitmask a pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR :: VkExternalFenceHandleTypeBitmask a pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR :: VkExternalFenceHandleTypeBitmask a pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR :: VkExternalFenceHandleTypeBitmask a pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR :: VkExternalFenceFeatureBitmask a pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR :: VkExternalFenceFeatureBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalFencePropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_external_fence -- | Alias for VkExportFenceCreateInfo type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask (a :: FlagType) pattern VkFenceCreateFlagBits :: VkFlags -> VkFenceCreateBitmask FlagBit pattern VkFenceCreateFlags :: VkFlags -> VkFenceCreateBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask (a :: FlagType) pattern VkFenceImportFlagBits :: VkFlags -> VkFenceImportBitmask FlagBit pattern VkFenceImportFlags :: VkFlags -> VkFenceImportBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR type VkFenceImportFlags = VkFenceImportBitmask FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR type VK_KHR_EXTERNAL_FENCE_SPEC_VERSION = 1 pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME = "VK_KHR_external_fence" pattern VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR :: VkStructureType pattern VK_FENCE_IMPORT_TEMPORARY_BIT_KHR :: VkFenceImportBitmask a module Graphics.Vulkan.Ext.VK_KHR_device_group_creation -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties type VkEnumeratePhysicalDeviceGroupsKHR = "vkEnumeratePhysicalDeviceGroupsKHR" pattern VkEnumeratePhysicalDeviceGroupsKHR :: CString -- | This is an alias for vkEnumeratePhysicalDeviceGroups. -- -- Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDeviceGroupsKHR
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceGroupCount
--       , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties
--       )
--   
-- -- vkEnumeratePhysicalDeviceGroupsKHR registry at www.khronos.org type HS_vkEnumeratePhysicalDeviceGroupsKHR = VkInstance " instance" -> Ptr Word32 " pPhysicalDeviceGroupCount" -> Ptr VkPhysicalDeviceGroupProperties " pPhysicalDeviceGroupProperties" -> IO VkResult type PFN_vkEnumeratePhysicalDeviceGroupsKHR = FunPtr HS_vkEnumeratePhysicalDeviceGroupsKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' type VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION = 1 pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME = "VK_KHR_device_group_creation" pattern VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR :: VkStructureType pattern VK_MAX_DEVICE_GROUP_SIZE_KHR :: (Num a, Eq a) => a pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR :: VkMemoryHeapBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumeratePhysicalDeviceGroupsKHR" module Graphics.Vulkan.Ext.VK_KHR_device_group -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask (a :: FlagType) pattern VkMemoryAllocateFlagBits :: VkFlags -> VkMemoryAllocateBitmask FlagBit pattern VkMemoryAllocateFlags :: VkFlags -> VkMemoryAllocateBitmask FlagMask -- | Force allocation on specific devices -- -- bitpos = 0 pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT :: VkMemoryAllocateBitmask a newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask (a :: FlagType) pattern VkMemoryHeapFlagBits :: VkFlags -> VkMemoryHeapBitmask FlagBit pattern VkMemoryHeapFlags :: VkFlags -> VkMemoryHeapBitmask FlagMask -- | If set, heap represents device memory -- -- bitpos = 0 pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a -- | type = enum -- -- VkMemoryOverallocationBehaviorAMD registry at www.khronos.org newtype VkMemoryOverallocationBehaviorAMD VkMemoryOverallocationBehaviorAMD :: Int32 -> VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask (a :: FlagType) pattern VkMemoryPropertyFlagBits :: VkFlags -> VkMemoryPropertyBitmask FlagBit pattern VkMemoryPropertyFlags :: VkFlags -> VkMemoryPropertyBitmask FlagMask -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: VkMemoryPropertyBitmask a -- | Memory is mappable by host -- -- bitpos = 1 pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT :: VkMemoryPropertyBitmask a -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT :: VkMemoryPropertyBitmask a -- | Memory will be cached by the host -- -- bitpos = 3 pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT :: VkMemoryPropertyBitmask a -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: VkMemoryPropertyBitmask a type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureBitmask (a :: FlagType) VkPeerMemoryFeatureBitmask :: VkFlags -> VkPeerMemoryFeatureBitmask (a :: FlagType) pattern VkPeerMemoryFeatureFlagBits :: VkFlags -> VkPeerMemoryFeatureBitmask FlagBit pattern VkPeerMemoryFeatureFlags :: VkFlags -> VkPeerMemoryFeatureBitmask FlagMask -- | Can read with vkCmdCopy commands -- -- bitpos = 0 pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT :: VkPeerMemoryFeatureBitmask a -- | Can write with vkCmdCopy commands -- -- bitpos = 1 pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT :: VkPeerMemoryFeatureBitmask a -- | Can read with any access type/command -- -- bitpos = 2 pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT :: VkPeerMemoryFeatureBitmask a -- | Can write with and access type/command -- -- bitpos = 3 pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT :: VkPeerMemoryFeatureBitmask a type VkPeerMemoryFeatureFlagBits = VkPeerMemoryFeatureBitmask FlagBit newtype VkPeerMemoryFeatureFlagBitsKHR VkPeerMemoryFeatureFlagBitsKHR :: VkFlags -> VkPeerMemoryFeatureFlagBitsKHR type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask type VkGetDeviceGroupPeerMemoryFeaturesKHR = "vkGetDeviceGroupPeerMemoryFeaturesKHR" pattern VkGetDeviceGroupPeerMemoryFeaturesKHR :: CString -- | This is an alias for vkGetDeviceGroupPeerMemoryFeatures. -- --
--   void vkGetDeviceGroupPeerMemoryFeaturesKHR
--       ( VkDevice device
--       , uint32_t heapIndex
--       , uint32_t localDeviceIndex
--       , uint32_t remoteDeviceIndex
--       , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures
--       )
--   
-- -- vkGetDeviceGroupPeerMemoryFeaturesKHR registry at -- www.khronos.org type HS_vkGetDeviceGroupPeerMemoryFeaturesKHR = VkDevice " device" -> Word32 " heapIndex" -> Word32 " localDeviceIndex" -> Word32 " remoteDeviceIndex" -> Ptr VkPeerMemoryFeatureFlags " pPeerMemoryFeatures" -> IO () type PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR = FunPtr HS_vkGetDeviceGroupPeerMemoryFeaturesKHR type VkCmdSetDeviceMaskKHR = "vkCmdSetDeviceMaskKHR" pattern VkCmdSetDeviceMaskKHR :: CString -- | This is an alias for vkCmdSetDeviceMask. -- -- Queues: graphics, compute, transfer. -- -- Renderpass: both -- --
--   void vkCmdSetDeviceMaskKHR
--       ( VkCommandBuffer commandBuffer
--       , uint32_t deviceMask
--       )
--   
-- -- vkCmdSetDeviceMaskKHR registry at www.khronos.org type HS_vkCmdSetDeviceMaskKHR = VkCommandBuffer " commandBuffer" -> Word32 " deviceMask" -> IO () type PFN_vkCmdSetDeviceMaskKHR = FunPtr HS_vkCmdSetDeviceMaskKHR type VkCmdDispatchBaseKHR = "vkCmdDispatchBaseKHR" pattern VkCmdDispatchBaseKHR :: CString -- | This is an alias for vkCmdDispatchBase. -- -- Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdDispatchBaseKHR
--       ( VkCommandBuffer commandBuffer
--       , uint32_t baseGroupX
--       , uint32_t baseGroupY
--       , uint32_t baseGroupZ
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatchBaseKHR registry at www.khronos.org type HS_vkCmdDispatchBaseKHR = VkCommandBuffer " commandBuffer" -> Word32 " baseGroupX" -> Word32 " baseGroupY" -> Word32 " baseGroupZ" -> Word32 " groupCountX" -> Word32 " groupCountY" -> Word32 " groupCountZ" -> IO () type PFN_vkCmdDispatchBaseKHR = FunPtr HS_vkCmdDispatchBaseKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_KHR_DEVICE_GROUP_SPEC_VERSION = 4 pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DEVICE_GROUP_EXTENSION_NAME = "VK_KHR_device_group" pattern VK_KHR_DEVICE_GROUP_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR :: VkStructureType pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR :: VkPeerMemoryFeatureBitmask a pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR :: VkPeerMemoryFeatureBitmask a pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR :: VkPeerMemoryFeatureBitmask a pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR :: VkPeerMemoryFeatureBitmask a pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR :: VkMemoryAllocateBitmask a pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR :: VkPipelineCreateBitmask a pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHR :: VkPipelineCreateBitmask a pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR :: VkDependencyBitmask a -- | Alias for VkBindBufferMemoryDeviceGroupInfo type VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo -- | Alias for VkBindImageMemoryDeviceGroupInfo type VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR :: VkStructureType pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: VkImageCreateBitmask a -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType pattern VkGetDeviceGroupPresentCapabilitiesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetDeviceGroupPresentCapabilitiesKHR
--       ( VkDevice device
--       , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities
--       )
--   
-- -- vkGetDeviceGroupPresentCapabilitiesKHR registry at -- www.khronos.org type HS_vkGetDeviceGroupPresentCapabilitiesKHR = VkDevice " device" -> Ptr VkDeviceGroupPresentCapabilitiesKHR " pDeviceGroupPresentCapabilities" -> IO VkResult type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = FunPtr HS_vkGetDeviceGroupPresentCapabilitiesKHR pattern VkGetDeviceGroupSurfacePresentModesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_SURFACE_LOST_KHR. -- --
--   VkResult vkGetDeviceGroupSurfacePresentModesKHR
--       ( VkDevice device
--       , VkSurfaceKHR surface
--       , VkDeviceGroupPresentModeFlagsKHR* pModes
--       )
--   
-- -- vkGetDeviceGroupSurfacePresentModesKHR registry at -- www.khronos.org type HS_vkGetDeviceGroupSurfacePresentModesKHR = VkDevice " device" -> VkSurfaceKHR " surface" -> Ptr VkDeviceGroupPresentModeFlagsKHR " pModes" -> IO VkResult type PFN_vkGetDeviceGroupSurfacePresentModesKHR = FunPtr HS_vkGetDeviceGroupSurfacePresentModesKHR pattern VkGetPhysicalDevicePresentRectanglesKHR :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPhysicalDevicePresentRectanglesKHR
--       ( VkPhysicalDevice physicalDevice
--       , VkSurfaceKHR surface
--       , uint32_t* pRectCount
--       , VkRect2D* pRects
--       )
--   
-- -- vkGetPhysicalDevicePresentRectanglesKHR registry at -- www.khronos.org type HS_vkGetPhysicalDevicePresentRectanglesKHR = VkPhysicalDevice " physicalDevice" -> VkSurfaceKHR " surface" -> Ptr Word32 " pRectCount" -> Ptr VkRect2D " pRects" -> IO VkResult type PFN_vkGetPhysicalDevicePresentRectanglesKHR = FunPtr HS_vkGetPhysicalDevicePresentRectanglesKHR pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: VkStructureType -- |
--   typedef struct VkAcquireNextImageInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint64_t                         timeout;
--       VkSemaphore semaphore;
--       VkFence fence;
--       uint32_t                         deviceMask;
--   } VkAcquireNextImageInfoKHR;
--   
-- -- VkAcquireNextImageInfoKHR registry at www.khronos.org type VkAcquireNextImageInfoKHR = VkStruct VkAcquireNextImageInfoKHR' -- |
--   typedef struct VkBindImageMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage                          image;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindImageMemoryInfo;
--   
-- -- VkBindImageMemoryInfo registry at www.khronos.org type VkBindImageMemoryInfo = VkStruct VkBindImageMemoryInfo' -- |
--   typedef struct VkBindImageMemorySwapchainInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint32_t                         imageIndex;
--   } VkBindImageMemorySwapchainInfoKHR;
--   
-- -- VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org type VkBindImageMemorySwapchainInfoKHR = VkStruct VkBindImageMemorySwapchainInfoKHR' -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR (a :: FlagType) pattern VkCompositeAlphaFlagBitsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit pattern VkCompositeAlphaFlagsKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 1 pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 2 pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: VkCompositeAlphaBitmaskKHR a -- | bitpos = 3 pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR :: VkCompositeAlphaBitmaskKHR a type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkPresentInfoKHR {
--       VkStructureType sType;
--       const void*  pNext;
--       uint32_t         waitSemaphoreCount;
--       const VkSemaphore* pWaitSemaphores;
--       uint32_t                         swapchainCount;
--       const VkSwapchainKHR* pSwapchains;
--       const uint32_t* pImageIndices;
--       VkResult* pResults;
--   } VkPresentInfoKHR;
--   
-- -- VkPresentInfoKHR registry at www.khronos.org type VkPresentInfoKHR = VkStruct VkPresentInfoKHR' -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT (a :: FlagType) pattern VkSurfaceCounterFlagBitsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit pattern VkSurfaceCounterFlagsEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_SURFACE_COUNTER_VBLANK_EXT :: VkSurfaceCounterBitmaskEXT a newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR (a :: FlagType) pattern VkSurfaceTransformFlagBitsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit pattern VkSurfaceTransformFlagsKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 1 pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 2 pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 3 pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 4 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 5 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 6 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 7 pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: VkSurfaceTransformBitmaskKHR a -- | bitpos = 8 pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR :: VkSurfaceTransformBitmaskKHR a type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask newtype VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) VkSwapchainImageUsageBitmaskANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID (a :: FlagType) pattern VkSwapchainImageUsageFlagBitsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagBit pattern VkSwapchainImageUsageFlagsANDROID :: VkFlags -> VkSwapchainImageUsageBitmaskANDROID FlagMask -- | bitpos = 0 pattern VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID :: VkSwapchainImageUsageBitmaskANDROID a newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR (a :: FlagType) pattern VkSwapchainCreateFlagBitsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit pattern VkSwapchainCreateFlagsKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainImageUsageFlagBitsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagBit type VkSwapchainImageUsageFlagsANDROID = VkSwapchainImageUsageBitmaskANDROID FlagMask -- |
--   typedef struct VkSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainCreateFlagsKHR        flags;
--       VkSurfaceKHR                     surface;
--       uint32_t                         minImageCount;
--       VkFormat                         imageFormat;
--       VkColorSpaceKHR                  imageColorSpace;
--       VkExtent2D                       imageExtent;
--       uint32_t                         imageArrayLayers;
--       VkImageUsageFlags                imageUsage;
--       VkSharingMode                    imageSharingMode;
--       uint32_t         queueFamilyIndexCount;
--       const uint32_t*                  pQueueFamilyIndices;
--       VkSurfaceTransformFlagBitsKHR    preTransform;
--       VkCompositeAlphaFlagBitsKHR      compositeAlpha;
--       VkPresentModeKHR                 presentMode;
--       VkBool32                         clipped;
--       VkSwapchainKHR   oldSwapchain;
--   } VkSwapchainCreateInfoKHR;
--   
-- -- VkSwapchainCreateInfoKHR registry at www.khronos.org type VkSwapchainCreateInfoKHR = VkStruct VkSwapchainCreateInfoKHR' pattern VkAcquireNextImage2KHR :: CString -- | Success codes: VK_SUCCESS, VK_TIMEOUT, -- VK_NOT_READY, VK_SUBOPTIMAL_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST, -- VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_SURFACE_LOST_KHR, -- VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT. -- --
--   VkResult vkAcquireNextImage2KHR
--       ( VkDevice device
--       , const VkAcquireNextImageInfoKHR* pAcquireInfo
--       , uint32_t* pImageIndex
--       )
--   
-- -- vkAcquireNextImage2KHR registry at www.khronos.org type HS_vkAcquireNextImage2KHR = VkDevice " device" -> Ptr VkAcquireNextImageInfoKHR " pAcquireInfo" -> Ptr Word32 " pImageIndex" -> IO VkResult type PFN_vkAcquireNextImage2KHR = FunPtr HS_vkAcquireNextImage2KHR pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: VkStructureType -- | Allow images with VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT -- -- bitpos = 0 pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR :: VkSwapchainCreateBitmaskKHR a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatchBaseKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDeviceMaskKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupPeerMemoryFeaturesKHR" module Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | Alias for VkDescriptorUpdateTemplateCreateInfo type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR type VkCreateDescriptorUpdateTemplateKHR = "vkCreateDescriptorUpdateTemplateKHR" pattern VkCreateDescriptorUpdateTemplateKHR :: CString -- | This is an alias for vkCreateDescriptorUpdateTemplate. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorUpdateTemplateKHR
--       ( VkDevice device
--       , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate
--       )
--   
-- -- vkCreateDescriptorUpdateTemplateKHR registry at www.khronos.org type HS_vkCreateDescriptorUpdateTemplateKHR = VkDevice " device" -> Ptr VkDescriptorUpdateTemplateCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDescriptorUpdateTemplate " pDescriptorUpdateTemplate" -> IO VkResult type PFN_vkCreateDescriptorUpdateTemplateKHR = FunPtr HS_vkCreateDescriptorUpdateTemplateKHR type VkDestroyDescriptorUpdateTemplateKHR = "vkDestroyDescriptorUpdateTemplateKHR" pattern VkDestroyDescriptorUpdateTemplateKHR :: CString -- | This is an alias for vkDestroyDescriptorUpdateTemplate. -- --
--   void vkDestroyDescriptorUpdateTemplateKHR
--       ( VkDevice device
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorUpdateTemplateKHR registry at -- www.khronos.org type HS_vkDestroyDescriptorUpdateTemplateKHR = VkDevice " device" -> VkDescriptorUpdateTemplate " descriptorUpdateTemplate" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDescriptorUpdateTemplateKHR = FunPtr HS_vkDestroyDescriptorUpdateTemplateKHR type VkUpdateDescriptorSetWithTemplateKHR = "vkUpdateDescriptorSetWithTemplateKHR" pattern VkUpdateDescriptorSetWithTemplateKHR :: CString -- | This is an alias for vkUpdateDescriptorSetWithTemplate. -- --
--   void vkUpdateDescriptorSetWithTemplateKHR
--       ( VkDevice device
--       , VkDescriptorSet descriptorSet
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , const void* pData
--       )
--   
-- -- vkUpdateDescriptorSetWithTemplateKHR registry at -- www.khronos.org type HS_vkUpdateDescriptorSetWithTemplateKHR = VkDevice " device" -> VkDescriptorSet " descriptorSet" -> VkDescriptorUpdateTemplate " descriptorUpdateTemplate" -> Ptr Void " pData" -> IO () type PFN_vkUpdateDescriptorSetWithTemplateKHR = FunPtr HS_vkUpdateDescriptorSetWithTemplateKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' -- |
--   typedef struct VkDescriptorPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPoolCreateFlags  flags;
--       uint32_t               maxSets;
--       uint32_t               poolSizeCount;
--       const VkDescriptorPoolSize* pPoolSizes;
--   } VkDescriptorPoolCreateInfo;
--   
-- -- VkDescriptorPoolCreateInfo registry at www.khronos.org type VkDescriptorPoolCreateInfo = VkStruct VkDescriptorPoolCreateInfo' -- |
--   typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               maxInlineUniformBlockBindings;
--   } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
--   
-- -- VkDescriptorPoolInlineUniformBlockCreateInfoEXT registry at -- www.khronos.org type VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkStruct VkDescriptorPoolInlineUniformBlockCreateInfoEXT' -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org type VkDescriptorPoolSize = VkStruct VkDescriptorPoolSize' -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org type VkDescriptorSetAllocateInfo = VkStruct VkDescriptorSetAllocateInfo' -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org type VkDescriptorSetLayoutBinding = VkStruct VkDescriptorSetLayoutBinding' -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       uint32_t                                           bindingCount;
--       const VkDescriptorBindingFlags* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfo;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfo registry at -- www.khronos.org type VkDescriptorSetLayoutBindingFlagsCreateInfo = VkStruct VkDescriptorSetLayoutBindingFlagsCreateInfo' -- | Alias for VkDescriptorSetLayoutBindingFlagsCreateInfo type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org type VkDescriptorSetLayoutCreateInfo = VkStruct VkDescriptorSetLayoutCreateInfo' -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org type VkDescriptorSetLayoutSupport = VkStruct VkDescriptorSetLayoutSupport' -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfo;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfo registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountAllocateInfo = VkStruct VkDescriptorSetVariableDescriptorCountAllocateInfo' -- | Alias for VkDescriptorSetVariableDescriptorCountAllocateInfo type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfo -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupport;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupport registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountLayoutSupport = VkStruct VkDescriptorSetVariableDescriptorCountLayoutSupport' -- | Alias for VkDescriptorSetVariableDescriptorCountLayoutSupport type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupport -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       const void*                               pNext;
--       VkDescriptorUpdateTemplateCreateFlags    flags;
--       uint32_t                 descriptorUpdateEntryCount;
--       const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
--       VkDescriptorUpdateTemplateType templateType;
--       VkDescriptorSetLayout descriptorSetLayout;
--       VkPipelineBindPoint pipelineBindPoint;
--       VkPipelineLayoutpipelineLayout;
--       uint32_t set;
--   } VkDescriptorUpdateTemplateCreateInfo;
--   
-- -- VkDescriptorUpdateTemplateCreateInfo registry at -- www.khronos.org type VkDescriptorUpdateTemplateCreateInfo = VkStruct VkDescriptorUpdateTemplateCreateInfo' -- |
--   typedef struct VkDescriptorUpdateTemplateEntry {
--       uint32_t                         dstBinding;
--       uint32_t                         dstArrayElement;
--       uint32_t                         descriptorCount;
--       VkDescriptorType                 descriptorType;
--       size_t                           offset;
--       size_t                           stride;
--   } VkDescriptorUpdateTemplateEntry;
--   
-- -- VkDescriptorUpdateTemplateEntry registry at www.khronos.org type VkDescriptorUpdateTemplateEntry = VkStruct VkDescriptorUpdateTemplateEntry' type VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1 pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME = "VK_KHR_descriptor_update_template" pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR :: VkStructureType pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR :: VkObjectType pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR :: VkDescriptorUpdateTemplateType pattern VkCmdPushDescriptorSetWithTemplateKHR :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdPushDescriptorSetWithTemplateKHR
--       ( VkCommandBuffer commandBuffer
--       , VkDescriptorUpdateTemplate descriptorUpdateTemplate
--       , VkPipelineLayout layout
--       , uint32_t set
--       , const void* pData
--       )
--   
-- -- vkCmdPushDescriptorSetWithTemplateKHR registry at -- www.khronos.org type HS_vkCmdPushDescriptorSetWithTemplateKHR = VkCommandBuffer " commandBuffer" -> VkDescriptorUpdateTemplate " descriptorUpdateTemplate" -> VkPipelineLayout " layout" -> Word32 " set" -> Ptr Void " pData" -> IO () type PFN_vkCmdPushDescriptorSetWithTemplateKHR = FunPtr HS_vkCmdPushDescriptorSetWithTemplateKHR -- | Create descriptor update template for pushed descriptor updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR :: VkDescriptorUpdateTemplateType pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT :: VkDebugReportObjectTypeEXT instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUpdateDescriptorSetWithTemplateKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorUpdateTemplateKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorUpdateTemplateKHR" module Graphics.Vulkan.Ext.VK_KHR_dedicated_allocation -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements type VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3 pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_KHR_dedicated_allocation" pattern VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_bind_memory2 -- | Alias for VkBindBufferMemoryInfo type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo -- | Alias for VkBindImageMemoryInfo type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo type VkBindBufferMemory2KHR = "vkBindBufferMemory2KHR" pattern VkBindBufferMemory2KHR :: CString -- | This is an alias for vkBindBufferMemory2. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory2KHR
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindBufferMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindBufferMemory2KHR registry at www.khronos.org type HS_vkBindBufferMemory2KHR = VkDevice " device" -> Word32 " bindInfoCount" -> Ptr VkBindBufferMemoryInfo " pBindInfos" -> IO VkResult type PFN_vkBindBufferMemory2KHR = FunPtr HS_vkBindBufferMemory2KHR type VkBindImageMemory2KHR = "vkBindImageMemory2KHR" pattern VkBindImageMemory2KHR :: CString -- | This is an alias for vkBindImageMemory2. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory2KHR
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindImageMemoryInfo* pBindInfos
--       )
--   
-- -- vkBindImageMemory2KHR registry at www.khronos.org type HS_vkBindImageMemory2KHR = VkDevice " device" -> Word32 " bindInfoCount" -> Ptr VkBindImageMemoryInfo " pBindInfos" -> IO VkResult type PFN_vkBindImageMemory2KHR = FunPtr HS_vkBindImageMemory2KHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- | Alias for VkBindAccelerationStructureMemoryInfoKHR type VkBindAccelerationStructureMemoryInfoNV = VkBindAccelerationStructureMemoryInfoKHR -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org type VkBindBufferMemoryDeviceGroupInfo = VkStruct VkBindBufferMemoryDeviceGroupInfo' -- | Alias for VkBindBufferMemoryDeviceGroupInfo type VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo -- |
--   typedef struct VkBindBufferMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBuffer                         buffer;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindBufferMemoryInfo;
--   
-- -- VkBindBufferMemoryInfo registry at www.khronos.org type VkBindBufferMemoryInfo = VkStruct VkBindBufferMemoryInfo' -- |
--   typedef struct VkBindImageMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--       uint32_t         splitInstanceBindRegionCount;
--       const VkRect2D*  pSplitInstanceBindRegions;
--   } VkBindImageMemoryDeviceGroupInfo;
--   
-- -- VkBindImageMemoryDeviceGroupInfo registry at www.khronos.org type VkBindImageMemoryDeviceGroupInfo = VkStruct VkBindImageMemoryDeviceGroupInfo' -- | Alias for VkBindImageMemoryDeviceGroupInfo type VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo -- |
--   typedef struct VkBindImageMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage                          image;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindImageMemoryInfo;
--   
-- -- VkBindImageMemoryInfo registry at www.khronos.org type VkBindImageMemoryInfo = VkStruct VkBindImageMemoryInfo' -- |
--   typedef struct VkBindImageMemorySwapchainInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint32_t                         imageIndex;
--   } VkBindImageMemorySwapchainInfoKHR;
--   
-- -- VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org type VkBindImageMemorySwapchainInfoKHR = VkStruct VkBindImageMemorySwapchainInfoKHR' -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org type VkBindImagePlaneMemoryInfo = VkStruct VkBindImagePlaneMemoryInfo' -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   typedef struct VkBindIndexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       VkIndexType      indexType;
--   } VkBindIndexBufferIndirectCommandNV;
--   
-- -- VkBindIndexBufferIndirectCommandNV registry at www.khronos.org type VkBindIndexBufferIndirectCommandNV = VkStruct VkBindIndexBufferIndirectCommandNV' -- |
--   typedef struct VkBindShaderGroupIndirectCommandNV {
--       uint32_t         groupIndex;
--   } VkBindShaderGroupIndirectCommandNV;
--   
-- -- VkBindShaderGroupIndirectCommandNV registry at www.khronos.org type VkBindShaderGroupIndirectCommandNV = VkStruct VkBindShaderGroupIndirectCommandNV' -- |
--   typedef struct VkBindSparseInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       uint32_t               bufferBindCount;
--       const VkSparseBufferMemoryBindInfo* pBufferBinds;
--       uint32_t               imageOpaqueBindCount;
--       const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
--       uint32_t               imageBindCount;
--       const VkSparseImageMemoryBindInfo* pImageBinds;
--       uint32_t               signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkBindSparseInfo;
--   
-- -- VkBindSparseInfo registry at www.khronos.org type VkBindSparseInfo = VkStruct VkBindSparseInfo' -- |
--   typedef struct VkBindVertexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       uint32_t         stride;
--   } VkBindVertexBufferIndirectCommandNV;
--   
-- -- VkBindVertexBufferIndirectCommandNV registry at www.khronos.org type VkBindVertexBufferIndirectCommandNV = VkStruct VkBindVertexBufferIndirectCommandNV' type VK_KHR_BIND_MEMORY_2_SPEC_VERSION = 1 pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" pattern VK_KHR_BIND_MEMORY_2_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR :: VkStructureType pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR :: VkImageCreateBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindImageMemory2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindBufferMemory2KHR" module Graphics.Vulkan.Ext.VK_KHR_16bit_storage -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures type VK_KHR_16BIT_STORAGE_SPEC_VERSION = 1 pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_16BIT_STORAGE_EXTENSION_NAME = "VK_KHR_16bit_storage" pattern VK_KHR_16BIT_STORAGE_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR :: VkStructureType module Graphics.Vulkan.Core_1_0 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org type VkExtent3D = VkStruct VkExtent3D' -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org type VkOffset3D = VkStruct VkOffset3D' -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask (a :: FlagType) pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask -- | Controls coherency of indirect command reads -- -- bitpos = 0 pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a -- | Controls coherency of index reads -- -- bitpos = 1 pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a -- | Controls coherency of input attachment reads -- -- bitpos = 4 pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader reads -- -- bitpos = 5 pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of shader writes -- -- bitpos = 6 pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment reads -- -- bitpos = 7 pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of color attachment writes -- -- bitpos = 8 pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: VkAccessBitmask a -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of transfer reads -- -- bitpos = 11 pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a -- | Controls coherency of transfer writes -- -- bitpos = 12 pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of host reads -- -- bitpos = 13 pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a -- | Controls coherency of host writes -- -- bitpos = 14 pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a -- | Controls coherency of memory reads -- -- bitpos = 15 pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a -- | Controls coherency of memory writes -- -- bitpos = 16 pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a type VkAccessFlagBits = VkAccessBitmask FlagBit type VkAccessFlags = VkAccessBitmask FlagMask -- |
--   typedef struct VkBaseInStructure {
--       VkStructureType sType;
--       const struct VkBaseInStructure* pNext;
--   } VkBaseInStructure;
--   
-- -- VkBaseInStructure registry at www.khronos.org type VkBaseInStructure = VkStruct VkBaseInStructure' -- |
--   typedef struct VkBaseOutStructure {
--       VkStructureType sType;
--       struct VkBaseOutStructure* pNext;
--   } VkBaseOutStructure;
--   
-- -- VkBaseOutStructure registry at www.khronos.org type VkBaseOutStructure = VkStruct VkBaseOutStructure' -- |
--   typedef struct VkBufferMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkBufferMemoryBarrier;
--   
-- -- VkBufferMemoryBarrier registry at www.khronos.org type VkBufferMemoryBarrier = VkStruct VkBufferMemoryBarrier' -- |
--   typedef struct VkDispatchIndirectCommand {
--       uint32_t x;
--       uint32_t y;
--       uint32_t z;
--   } VkDispatchIndirectCommand;
--   
-- -- VkDispatchIndirectCommand registry at www.khronos.org type VkDispatchIndirectCommand = VkStruct VkDispatchIndirectCommand' -- |
--   typedef struct VkDrawIndexedIndirectCommand {
--       uint32_t                       indexCount;
--       uint32_t                       instanceCount;
--       uint32_t                       firstIndex;
--       int32_t                        vertexOffset;
--       uint32_t firstInstance;
--   } VkDrawIndexedIndirectCommand;
--   
-- -- VkDrawIndexedIndirectCommand registry at www.khronos.org type VkDrawIndexedIndirectCommand = VkStruct VkDrawIndexedIndirectCommand' -- |
--   typedef struct VkDrawIndirectCommand {
--       uint32_t                       vertexCount;
--       uint32_t                       instanceCount;
--       uint32_t                       firstVertex;
--       uint32_t firstInstance;
--   } VkDrawIndirectCommand;
--   
-- -- VkDrawIndirectCommand registry at www.khronos.org type VkDrawIndirectCommand = VkStruct VkDrawIndirectCommand' newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- |
--   typedef struct VkImageMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkImageLayout          oldLayout;
--       VkImageLayout          newLayout;
--       uint32_t               srcQueueFamilyIndex;
--       uint32_t               dstQueueFamilyIndex;
--       VkImage                image;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageMemoryBarrier;
--   
-- -- VkImageMemoryBarrier registry at www.khronos.org type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- |
--   typedef struct VkImageSubresourceRange {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               baseMipLevel;
--       uint32_t               levelCount;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceRange;
--   
-- -- VkImageSubresourceRange registry at www.khronos.org type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- | Enums to track objects of various types -- -- type = enum -- -- VkObjectType registry at www.khronos.org newtype VkObjectType VkObjectType :: Int32 -> VkObjectType pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType -- | VkInstance pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType -- | VkPhysicalDevice pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType -- | VkDevice pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType -- | VkQueue pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType -- | VkSemaphore pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType -- | VkCommandBuffer pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType -- | VkFence pattern VK_OBJECT_TYPE_FENCE :: VkObjectType -- | VkDeviceMemory pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType -- | VkBuffer pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType -- | VkImage pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType -- | VkEvent pattern VK_OBJECT_TYPE_EVENT :: VkObjectType -- | VkQueryPool pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType -- | VkBufferView pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType -- | VkImageView pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType -- | VkShaderModule pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType -- | VkPipelineCache pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType -- | VkPipelineLayout pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType -- | VkRenderPass pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType -- | VkPipeline pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType -- | VkDescriptorSetLayout pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType -- | VkSampler pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType -- | VkDescriptorPool pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType -- | VkDescriptorSet pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType -- | VkFramebuffer pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType -- | VkCommandPool pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType -- | type = enum -- -- VkVendorId registry at www.khronos.org newtype VkVendorId VkVendorId :: Int32 -> VkVendorId -- | Vivante vendor ID pattern VK_VENDOR_ID_VIV :: VkVendorId -- | VeriSilicon vendor ID pattern VK_VENDOR_ID_VSI :: VkVendorId -- | Kazan Software Renderer pattern VK_VENDOR_ID_KAZAN :: VkVendorId -- | Codeplay Software Ltd. vendor ID pattern VK_VENDOR_ID_CODEPLAY :: VkVendorId -- | Mesa vendor ID pattern VK_VENDOR_ID_MESA :: VkVendorId -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask pattern VK_ATTACHMENT_UNUSED :: Word32 pattern VK_FALSE :: (Num a, Eq a) => a pattern VK_LOD_CLAMP_NONE :: (Fractional a, Eq a) => a pattern VK_QUEUE_FAMILY_IGNORED :: Word32 pattern VK_REMAINING_ARRAY_LAYERS :: Word32 pattern VK_REMAINING_MIP_LEVELS :: Word32 pattern VK_SUBPASS_EXTERNAL :: Word32 pattern VK_TRUE :: (Num a, Eq a) => a pattern VK_WHOLE_SIZE :: Word64 -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkApplicationInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       const char*     pApplicationName;
--       uint32_t        applicationVersion;
--       const char*     pEngineName;
--       uint32_t        engineVersion;
--       uint32_t        apiVersion;
--   } VkApplicationInfo;
--   
-- -- VkApplicationInfo registry at www.khronos.org type VkApplicationInfo = VkStruct VkApplicationInfo' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- |
--   typedef struct VkFormatProperties {
--       VkFormatFeatureFlags   linearTilingFeatures;
--       VkFormatFeatureFlags   optimalTilingFeatures;
--       VkFormatFeatureFlags   bufferFeatures;
--   } VkFormatProperties;
--   
-- -- VkFormatProperties registry at www.khronos.org type VkFormatProperties = VkStruct VkFormatProperties' -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org type VkImageFormatProperties = VkStruct VkImageFormatProperties' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkInstanceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkInstanceCreateFlags  flags;
--       const VkApplicationInfo* pApplicationInfo;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--   } VkInstanceCreateInfo;
--   
-- -- VkInstanceCreateInfo registry at www.khronos.org type VkInstanceCreateInfo = VkStruct VkInstanceCreateInfo' -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask (a :: FlagType) pattern VkMemoryAllocateFlagBits :: VkFlags -> VkMemoryAllocateBitmask FlagBit pattern VkMemoryAllocateFlags :: VkFlags -> VkMemoryAllocateBitmask FlagMask -- | Force allocation on specific devices -- -- bitpos = 0 pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT :: VkMemoryAllocateBitmask a newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask (a :: FlagType) pattern VkMemoryHeapFlagBits :: VkFlags -> VkMemoryHeapBitmask FlagBit pattern VkMemoryHeapFlags :: VkFlags -> VkMemoryHeapBitmask FlagMask -- | If set, heap represents device memory -- -- bitpos = 0 pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a -- | type = enum -- -- VkMemoryOverallocationBehaviorAMD registry at www.khronos.org newtype VkMemoryOverallocationBehaviorAMD VkMemoryOverallocationBehaviorAMD :: Int32 -> VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD pattern VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD :: VkMemoryOverallocationBehaviorAMD newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask (a :: FlagType) pattern VkMemoryPropertyFlagBits :: VkFlags -> VkMemoryPropertyBitmask FlagBit pattern VkMemoryPropertyFlags :: VkFlags -> VkMemoryPropertyBitmask FlagMask -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: VkMemoryPropertyBitmask a -- | Memory is mappable by host -- -- bitpos = 1 pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT :: VkMemoryPropertyBitmask a -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT :: VkMemoryPropertyBitmask a -- | Memory will be cached by the host -- -- bitpos = 3 pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT :: VkMemoryPropertyBitmask a -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: VkMemoryPropertyBitmask a type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties {
--       uint32_t               memoryTypeCount;
--       VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--       uint32_t               memoryHeapCount;
--       VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryProperties;
--   
-- -- VkPhysicalDeviceMemoryProperties registry at www.khronos.org type VkPhysicalDeviceMemoryProperties = VkStruct VkPhysicalDeviceMemoryProperties' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- |
--   typedef struct VkQueueFamilyProperties {
--       VkQueueFlags           queueFlags;
--       uint32_t               queueCount;
--       uint32_t               timestampValidBits;
--       VkExtent3D             minImageTransferGranularity;
--   } VkQueueFamilyProperties;
--   
-- -- VkQueueFamilyProperties registry at www.khronos.org type VkQueueFamilyProperties = VkStruct VkQueueFamilyProperties' newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask (a :: FlagType) pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask -- | Queue supports graphics operations -- -- bitpos = 0 pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a -- | Queue supports compute operations -- -- bitpos = 1 pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a -- | Queue supports transfer operations -- -- bitpos = 2 pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT :: VkQueueGlobalPriorityEXT pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: VkQueueGlobalPriorityEXT type VkQueueFlagBits = VkQueueBitmask FlagBit type VkQueueFlags = VkQueueBitmask FlagMask newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope type VkCreateInstance = "vkCreateInstance" pattern VkCreateInstance :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_LAYER_NOT_PRESENT, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_INCOMPATIBLE_DRIVER. -- --
--   VkResult vkCreateInstance
--       ( const VkInstanceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkInstance* pInstance
--       )
--   
-- -- vkCreateInstance registry at www.khronos.org type HS_vkCreateInstance = Ptr VkInstanceCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkInstance " pInstance" -> IO VkResult type PFN_vkCreateInstance = FunPtr HS_vkCreateInstance -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_LAYER_NOT_PRESENT, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_INCOMPATIBLE_DRIVER. -- --
--   VkResult vkCreateInstance
--       ( const VkInstanceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkInstance* pInstance
--       )
--   
-- -- vkCreateInstance registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL
--   
-- -- or less efficient: -- --
--   myCreateInstance <- vkGetProc @VkCreateInstance
--   
-- -- Note: vkCreateInstanceUnsafe and -- vkCreateInstanceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateInstance is an alias of -- vkCreateInstanceUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateInstanceSafe. vkCreateInstance :: Ptr VkInstanceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkInstance -> IO VkResult vkCreateInstanceUnsafe :: Ptr VkInstanceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkInstance -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_LAYER_NOT_PRESENT, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_INCOMPATIBLE_DRIVER. -- --
--   VkResult vkCreateInstance
--       ( const VkInstanceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkInstance* pInstance
--       )
--   
-- -- vkCreateInstance registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL
--   
-- -- or less efficient: -- --
--   myCreateInstance <- vkGetProc @VkCreateInstance
--   
-- -- Note: vkCreateInstanceUnsafe and -- vkCreateInstanceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateInstance is an alias of -- vkCreateInstanceUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateInstanceSafe. vkCreateInstanceSafe :: Ptr VkInstanceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkInstance -> IO VkResult type VkDestroyInstance = "vkDestroyInstance" pattern VkDestroyInstance :: CString -- |
--   void vkDestroyInstance
--       ( VkInstance instance
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyInstance registry at www.khronos.org type HS_vkDestroyInstance = VkInstance " instance" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyInstance = FunPtr HS_vkDestroyInstance -- |
--   void vkDestroyInstance
--       ( VkInstance instance
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyInstance registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance
--   
-- -- or less efficient: -- --
--   myDestroyInstance <- vkGetProc @VkDestroyInstance
--   
-- -- Note: vkDestroyInstanceUnsafe and -- vkDestroyInstanceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyInstance is an alias of -- vkDestroyInstanceUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroyInstanceSafe. vkDestroyInstance :: VkInstance -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyInstance
--       ( VkInstance instance
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyInstance registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance
--   
-- -- or less efficient: -- --
--   myDestroyInstance <- vkGetProc @VkDestroyInstance
--   
-- -- Note: vkDestroyInstanceUnsafe and -- vkDestroyInstanceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyInstance is an alias of -- vkDestroyInstanceUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroyInstanceSafe. vkDestroyInstanceUnsafe :: VkInstance -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyInstance
--       ( VkInstance instance
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyInstance registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance
--   
-- -- or less efficient: -- --
--   myDestroyInstance <- vkGetProc @VkDestroyInstance
--   
-- -- Note: vkDestroyInstanceUnsafe and -- vkDestroyInstanceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyInstance is an alias of -- vkDestroyInstanceUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroyInstanceSafe. vkDestroyInstanceSafe :: VkInstance -> Ptr VkAllocationCallbacks -> IO () type VkEnumeratePhysicalDevices = "vkEnumeratePhysicalDevices" pattern VkEnumeratePhysicalDevices :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDevices
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceCount
--       , VkPhysicalDevice* pPhysicalDevices
--       )
--   
-- -- vkEnumeratePhysicalDevices registry at www.khronos.org type HS_vkEnumeratePhysicalDevices = VkInstance " instance" -> Ptr Word32 " pPhysicalDeviceCount" -> Ptr VkPhysicalDevice " pPhysicalDevices" -> IO VkResult type PFN_vkEnumeratePhysicalDevices = FunPtr HS_vkEnumeratePhysicalDevices -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDevices
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceCount
--       , VkPhysicalDevice* pPhysicalDevices
--       )
--   
-- -- vkEnumeratePhysicalDevices registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance
--   
-- -- or less efficient: -- --
--   myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices
--   
-- -- Note: vkEnumeratePhysicalDevicesUnsafe and -- vkEnumeratePhysicalDevicesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEnumeratePhysicalDevices is an alias of -- vkEnumeratePhysicalDevicesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumeratePhysicalDevicesSafe. vkEnumeratePhysicalDevices :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDevice -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDevices
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceCount
--       , VkPhysicalDevice* pPhysicalDevices
--       )
--   
-- -- vkEnumeratePhysicalDevices registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance
--   
-- -- or less efficient: -- --
--   myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices
--   
-- -- Note: vkEnumeratePhysicalDevicesUnsafe and -- vkEnumeratePhysicalDevicesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEnumeratePhysicalDevices is an alias of -- vkEnumeratePhysicalDevicesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumeratePhysicalDevicesSafe. vkEnumeratePhysicalDevicesUnsafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDevice -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED. -- --
--   VkResult vkEnumeratePhysicalDevices
--       ( VkInstance instance
--       , uint32_t* pPhysicalDeviceCount
--       , VkPhysicalDevice* pPhysicalDevices
--       )
--   
-- -- vkEnumeratePhysicalDevices registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance
--   
-- -- or less efficient: -- --
--   myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices
--   
-- -- Note: vkEnumeratePhysicalDevicesUnsafe and -- vkEnumeratePhysicalDevicesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEnumeratePhysicalDevices is an alias of -- vkEnumeratePhysicalDevicesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumeratePhysicalDevicesSafe. vkEnumeratePhysicalDevicesSafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDevice -> IO VkResult type VkGetPhysicalDeviceFeatures = "vkGetPhysicalDeviceFeatures" pattern VkGetPhysicalDeviceFeatures :: CString -- |
--   void vkGetPhysicalDeviceFeatures
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures registry at www.khronos.org type HS_vkGetPhysicalDeviceFeatures = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceFeatures " pFeatures" -> IO () type PFN_vkGetPhysicalDeviceFeatures = FunPtr HS_vkGetPhysicalDeviceFeatures -- |
--   void vkGetPhysicalDeviceFeatures
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures
--   
-- -- Note: vkGetPhysicalDeviceFeaturesUnsafe and -- vkGetPhysicalDeviceFeaturesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceFeatures is an alias of -- vkGetPhysicalDeviceFeaturesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFeaturesSafe. vkGetPhysicalDeviceFeatures :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures -> IO () -- |
--   void vkGetPhysicalDeviceFeatures
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures
--   
-- -- Note: vkGetPhysicalDeviceFeaturesUnsafe and -- vkGetPhysicalDeviceFeaturesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceFeatures is an alias of -- vkGetPhysicalDeviceFeaturesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFeaturesSafe. vkGetPhysicalDeviceFeaturesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures -> IO () -- |
--   void vkGetPhysicalDeviceFeatures
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceFeatures* pFeatures
--       )
--   
-- -- vkGetPhysicalDeviceFeatures registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures
--   
-- -- Note: vkGetPhysicalDeviceFeaturesUnsafe and -- vkGetPhysicalDeviceFeaturesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceFeatures is an alias of -- vkGetPhysicalDeviceFeaturesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFeaturesSafe. vkGetPhysicalDeviceFeaturesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures -> IO () type VkGetPhysicalDeviceFormatProperties = "vkGetPhysicalDeviceFormatProperties" pattern VkGetPhysicalDeviceFormatProperties :: CString -- |
--   void vkGetPhysicalDeviceFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties registry at www.khronos.org type HS_vkGetPhysicalDeviceFormatProperties = VkPhysicalDevice " physicalDevice" -> VkFormat " format" -> Ptr VkFormatProperties " pFormatProperties" -> IO () type PFN_vkGetPhysicalDeviceFormatProperties = FunPtr HS_vkGetPhysicalDeviceFormatProperties -- |
--   void vkGetPhysicalDeviceFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties
--   
-- -- Note: vkGetPhysicalDeviceFormatPropertiesUnsafe and -- vkGetPhysicalDeviceFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceFormatProperties is an alias -- of vkGetPhysicalDeviceFormatPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFormatPropertiesSafe. vkGetPhysicalDeviceFormatProperties :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties -> IO () -- |
--   void vkGetPhysicalDeviceFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties
--   
-- -- Note: vkGetPhysicalDeviceFormatPropertiesUnsafe and -- vkGetPhysicalDeviceFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceFormatProperties is an alias -- of vkGetPhysicalDeviceFormatPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFormatPropertiesSafe. vkGetPhysicalDeviceFormatPropertiesUnsafe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties -> IO () -- |
--   void vkGetPhysicalDeviceFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkFormatProperties* pFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceFormatProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties
--   
-- -- Note: vkGetPhysicalDeviceFormatPropertiesUnsafe and -- vkGetPhysicalDeviceFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceFormatProperties is an alias -- of vkGetPhysicalDeviceFormatPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceFormatPropertiesSafe. vkGetPhysicalDeviceFormatPropertiesSafe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties -> IO () type VkGetPhysicalDeviceImageFormatProperties = "vkGetPhysicalDeviceImageFormatProperties" pattern VkGetPhysicalDeviceImageFormatProperties :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkImageTiling tiling
--       , VkImageUsageFlags usage
--       , VkImageCreateFlags flags
--       , VkImageFormatProperties* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties registry at -- www.khronos.org type HS_vkGetPhysicalDeviceImageFormatProperties = VkPhysicalDevice " physicalDevice" -> VkFormat " format" -> VkImageType " type" -> VkImageTiling " tiling" -> VkImageUsageFlags " usage" -> VkImageCreateFlags " flags" -> Ptr VkImageFormatProperties " pImageFormatProperties" -> IO VkResult type PFN_vkGetPhysicalDeviceImageFormatProperties = FunPtr HS_vkGetPhysicalDeviceImageFormatProperties -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkImageTiling tiling
--       , VkImageUsageFlags usage
--       , VkImageCreateFlags flags
--       , VkImageFormatProperties* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties
--   
-- -- Note: vkGetPhysicalDeviceImageFormatPropertiesUnsafe -- and vkGetPhysicalDeviceImageFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceImageFormatProperties is an -- alias of vkGetPhysicalDeviceImageFormatPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceImageFormatPropertiesSafe. vkGetPhysicalDeviceImageFormatProperties :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkImageTiling -> VkImageUsageFlags -> VkImageCreateFlags -> Ptr VkImageFormatProperties -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkImageTiling tiling
--       , VkImageUsageFlags usage
--       , VkImageCreateFlags flags
--       , VkImageFormatProperties* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties
--   
-- -- Note: vkGetPhysicalDeviceImageFormatPropertiesUnsafe -- and vkGetPhysicalDeviceImageFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceImageFormatProperties is an -- alias of vkGetPhysicalDeviceImageFormatPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceImageFormatPropertiesSafe. vkGetPhysicalDeviceImageFormatPropertiesUnsafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkImageTiling -> VkImageUsageFlags -> VkImageCreateFlags -> Ptr VkImageFormatProperties -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FORMAT_NOT_SUPPORTED. -- --
--   VkResult vkGetPhysicalDeviceImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkImageTiling tiling
--       , VkImageUsageFlags usage
--       , VkImageCreateFlags flags
--       , VkImageFormatProperties* pImageFormatProperties
--       )
--   
-- -- vkGetPhysicalDeviceImageFormatProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties
--   
-- -- Note: vkGetPhysicalDeviceImageFormatPropertiesUnsafe -- and vkGetPhysicalDeviceImageFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceImageFormatProperties is an -- alias of vkGetPhysicalDeviceImageFormatPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceImageFormatPropertiesSafe. vkGetPhysicalDeviceImageFormatPropertiesSafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkImageTiling -> VkImageUsageFlags -> VkImageCreateFlags -> Ptr VkImageFormatProperties -> IO VkResult type VkGetPhysicalDeviceProperties = "vkGetPhysicalDeviceProperties" pattern VkGetPhysicalDeviceProperties :: CString -- |
--   void vkGetPhysicalDeviceProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties registry at www.khronos.org type HS_vkGetPhysicalDeviceProperties = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceProperties " pProperties" -> IO () type PFN_vkGetPhysicalDeviceProperties = FunPtr HS_vkGetPhysicalDeviceProperties -- |
--   void vkGetPhysicalDeviceProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties
--   
-- -- Note: vkGetPhysicalDevicePropertiesUnsafe and -- vkGetPhysicalDevicePropertiesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceProperties is an alias of -- vkGetPhysicalDevicePropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDevicePropertiesSafe. vkGetPhysicalDeviceProperties :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties -> IO () -- |
--   void vkGetPhysicalDeviceProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties
--   
-- -- Note: vkGetPhysicalDevicePropertiesUnsafe and -- vkGetPhysicalDevicePropertiesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceProperties is an alias of -- vkGetPhysicalDevicePropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDevicePropertiesSafe. vkGetPhysicalDevicePropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties -> IO () -- |
--   void vkGetPhysicalDeviceProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties
--   
-- -- Note: vkGetPhysicalDevicePropertiesUnsafe and -- vkGetPhysicalDevicePropertiesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPhysicalDeviceProperties is an alias of -- vkGetPhysicalDevicePropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDevicePropertiesSafe. vkGetPhysicalDevicePropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties -> IO () type VkGetPhysicalDeviceQueueFamilyProperties = "vkGetPhysicalDeviceQueueFamilyProperties" pattern VkGetPhysicalDeviceQueueFamilyProperties :: CString -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties registry at -- www.khronos.org type HS_vkGetPhysicalDeviceQueueFamilyProperties = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pQueueFamilyPropertyCount" -> Ptr VkQueueFamilyProperties " pQueueFamilyProperties" -> IO () type PFN_vkGetPhysicalDeviceQueueFamilyProperties = FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties
--   
-- -- Note: vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe -- and vkGetPhysicalDeviceQueueFamilyPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceQueueFamilyProperties is an -- alias of vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceQueueFamilyPropertiesSafe. vkGetPhysicalDeviceQueueFamilyProperties :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties -> IO () -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties
--   
-- -- Note: vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe -- and vkGetPhysicalDeviceQueueFamilyPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceQueueFamilyProperties is an -- alias of vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceQueueFamilyPropertiesSafe. vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties -> IO () -- |
--   void vkGetPhysicalDeviceQueueFamilyProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pQueueFamilyPropertyCount
--       , VkQueueFamilyProperties* pQueueFamilyProperties
--       )
--   
-- -- vkGetPhysicalDeviceQueueFamilyProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties
--   
-- -- Note: vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe -- and vkGetPhysicalDeviceQueueFamilyPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceQueueFamilyProperties is an -- alias of vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkGetPhysicalDeviceQueueFamilyPropertiesSafe. vkGetPhysicalDeviceQueueFamilyPropertiesSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties -> IO () type VkGetPhysicalDeviceMemoryProperties = "vkGetPhysicalDeviceMemoryProperties" pattern VkGetPhysicalDeviceMemoryProperties :: CString -- |
--   void vkGetPhysicalDeviceMemoryProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org type HS_vkGetPhysicalDeviceMemoryProperties = VkPhysicalDevice " physicalDevice" -> Ptr VkPhysicalDeviceMemoryProperties " pMemoryProperties" -> IO () type PFN_vkGetPhysicalDeviceMemoryProperties = FunPtr HS_vkGetPhysicalDeviceMemoryProperties -- |
--   void vkGetPhysicalDeviceMemoryProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties
--   
-- -- Note: vkGetPhysicalDeviceMemoryPropertiesUnsafe and -- vkGetPhysicalDeviceMemoryPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceMemoryProperties is an alias -- of vkGetPhysicalDeviceMemoryPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceMemoryPropertiesSafe. vkGetPhysicalDeviceMemoryProperties :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties -> IO () -- |
--   void vkGetPhysicalDeviceMemoryProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties
--   
-- -- Note: vkGetPhysicalDeviceMemoryPropertiesUnsafe and -- vkGetPhysicalDeviceMemoryPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceMemoryProperties is an alias -- of vkGetPhysicalDeviceMemoryPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceMemoryPropertiesSafe. vkGetPhysicalDeviceMemoryPropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties -> IO () -- |
--   void vkGetPhysicalDeviceMemoryProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkPhysicalDeviceMemoryProperties* pMemoryProperties
--       )
--   
-- -- vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties
--   
-- -- Note: vkGetPhysicalDeviceMemoryPropertiesUnsafe and -- vkGetPhysicalDeviceMemoryPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceMemoryProperties is an alias -- of vkGetPhysicalDeviceMemoryPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPhysicalDeviceMemoryPropertiesSafe. vkGetPhysicalDeviceMemoryPropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties -> IO () type VkGetInstanceProcAddr = "vkGetInstanceProcAddr" pattern VkGetInstanceProcAddr :: CString -- |
--   PFN_vkVoidFunction vkGetInstanceProcAddr
--       ( VkInstance instance
--       , const char* pName
--       )
--   
-- -- vkGetInstanceProcAddr registry at www.khronos.org type HS_vkGetInstanceProcAddr = VkInstance " instance" -> CString " pName" -> IO PFN_vkVoidFunction type PFN_vkGetInstanceProcAddr = FunPtr HS_vkGetInstanceProcAddr -- |
--   PFN_vkVoidFunction vkGetInstanceProcAddr
--       ( VkInstance instance
--       , const char* pName
--       )
--   
-- -- vkGetInstanceProcAddr registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance
--   
-- -- or less efficient: -- --
--   myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr
--   
-- -- Note: vkGetInstanceProcAddrUnsafe and -- vkGetInstanceProcAddrSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetInstanceProcAddr is an alias of -- vkGetInstanceProcAddrUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetInstanceProcAddrSafe. vkGetInstanceProcAddr :: VkInstance -> CString -> IO PFN_vkVoidFunction -- |
--   PFN_vkVoidFunction vkGetInstanceProcAddr
--       ( VkInstance instance
--       , const char* pName
--       )
--   
-- -- vkGetInstanceProcAddr registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance
--   
-- -- or less efficient: -- --
--   myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr
--   
-- -- Note: vkGetInstanceProcAddrUnsafe and -- vkGetInstanceProcAddrSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetInstanceProcAddr is an alias of -- vkGetInstanceProcAddrUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetInstanceProcAddrSafe. vkGetInstanceProcAddrUnsafe :: VkInstance -> CString -> IO PFN_vkVoidFunction -- |
--   PFN_vkVoidFunction vkGetInstanceProcAddr
--       ( VkInstance instance
--       , const char* pName
--       )
--   
-- -- vkGetInstanceProcAddr registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance
--   
-- -- or less efficient: -- --
--   myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr
--   
-- -- Note: vkGetInstanceProcAddrUnsafe and -- vkGetInstanceProcAddrSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetInstanceProcAddr is an alias of -- vkGetInstanceProcAddrUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetInstanceProcAddrSafe. vkGetInstanceProcAddrSafe :: VkInstance -> CString -> IO PFN_vkVoidFunction type VkGetDeviceProcAddr = "vkGetDeviceProcAddr" pattern VkGetDeviceProcAddr :: CString -- |
--   PFN_vkVoidFunction vkGetDeviceProcAddr
--       ( VkDevice device
--       , const char* pName
--       )
--   
-- -- vkGetDeviceProcAddr registry at www.khronos.org type HS_vkGetDeviceProcAddr = VkDevice " device" -> CString " pName" -> IO PFN_vkVoidFunction type PFN_vkGetDeviceProcAddr = FunPtr HS_vkGetDeviceProcAddr -- |
--   PFN_vkVoidFunction vkGetDeviceProcAddr
--       ( VkDevice device
--       , const char* pName
--       )
--   
-- -- vkGetDeviceProcAddr registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr
--   
-- -- Note: vkGetDeviceProcAddrUnsafe and -- vkGetDeviceProcAddrSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceProcAddr is an alias of -- vkGetDeviceProcAddrUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceProcAddrSafe. vkGetDeviceProcAddr :: VkDevice -> CString -> IO PFN_vkVoidFunction -- |
--   PFN_vkVoidFunction vkGetDeviceProcAddr
--       ( VkDevice device
--       , const char* pName
--       )
--   
-- -- vkGetDeviceProcAddr registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr
--   
-- -- Note: vkGetDeviceProcAddrUnsafe and -- vkGetDeviceProcAddrSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceProcAddr is an alias of -- vkGetDeviceProcAddrUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceProcAddrSafe. vkGetDeviceProcAddrUnsafe :: VkDevice -> CString -> IO PFN_vkVoidFunction -- |
--   PFN_vkVoidFunction vkGetDeviceProcAddr
--       ( VkDevice device
--       , const char* pName
--       )
--   
-- -- vkGetDeviceProcAddr registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr
--   
-- -- Note: vkGetDeviceProcAddrUnsafe and -- vkGetDeviceProcAddrSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceProcAddr is an alias of -- vkGetDeviceProcAddrUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceProcAddrSafe. vkGetDeviceProcAddrSafe :: VkDevice -> CString -> IO PFN_vkVoidFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkFormatProperties               formatProperties;
--   } VkFormatProperties2;
--   
-- -- VkFormatProperties2 registry at www.khronos.org type VkFormatProperties2 = VkStruct VkFormatProperties2' -- | Alias for VkFormatProperties2 type VkFormatProperties2KHR = VkFormatProperties2 -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org type VkImageBlit = VkStruct VkImageBlit' -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org type VkImageCopy = VkStruct VkImageCopy' -- |
--   typedef struct VkImageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageCreateFlags     flags;
--       VkImageType            imageType;
--       VkFormat               format;
--       VkExtent3D             extent;
--       uint32_t               mipLevels;
--       uint32_t               arrayLayers;
--       VkSampleCountFlagBits  samples;
--       VkImageTiling          tiling;
--       VkImageUsageFlags      usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--       VkImageLayout          initialLayout;
--   } VkImageCreateInfo;
--   
-- -- VkImageCreateInfo registry at www.khronos.org type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- |
--   typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       uint32_t drmFormatModifierPlaneCount;
--       const VkSubresourceLayout* pPlaneLayouts;
--   } VkImageDrmFormatModifierExplicitCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierExplicitCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierExplicitCreateInfoEXT = VkStruct VkImageDrmFormatModifierExplicitCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t drmFormatModifierCount;
--       const uint64_t* pDrmFormatModifiers;
--   } VkImageDrmFormatModifierListCreateInfoEXT;
--   
-- -- VkImageDrmFormatModifierListCreateInfoEXT registry at -- www.khronos.org type VkImageDrmFormatModifierListCreateInfoEXT = VkStruct VkImageDrmFormatModifierListCreateInfoEXT' -- |
--   typedef struct VkImageDrmFormatModifierPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint64_t drmFormatModifier;
--   } VkImageDrmFormatModifierPropertiesEXT;
--   
-- -- VkImageDrmFormatModifierPropertiesEXT registry at -- www.khronos.org type VkImageDrmFormatModifierPropertiesEXT = VkStruct VkImageDrmFormatModifierPropertiesEXT' -- |
--   typedef struct VkImageFormatListCreateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*  pViewFormats;
--   } VkImageFormatListCreateInfo;
--   
-- -- VkImageFormatListCreateInfo registry at www.khronos.org type VkImageFormatListCreateInfo = VkStruct VkImageFormatListCreateInfo' -- | Alias for VkImageFormatListCreateInfo type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- | Alias for VkImageFormatProperties2 type VkImageFormatProperties2KHR = VkImageFormatProperties2 -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org type VkImageMemoryRequirementsInfo2 = VkStruct VkImageMemoryRequirementsInfo2' -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org type VkImagePlaneMemoryRequirementsInfo = VkStruct VkImagePlaneMemoryRequirementsInfo' -- | Alias for VkImagePlaneMemoryRequirementsInfo type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo -- |
--   typedef struct VkImageResolve {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageResolve;
--   
-- -- VkImageResolve registry at www.khronos.org type VkImageResolve = VkStruct VkImageResolve' -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org type VkImageSparseMemoryRequirementsInfo2 = VkStruct VkImageSparseMemoryRequirementsInfo2' -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageStencilUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags stencilUsage;
--   } VkImageStencilUsageCreateInfo;
--   
-- -- VkImageStencilUsageCreateInfo registry at www.khronos.org type VkImageStencilUsageCreateInfo = VkStruct VkImageStencilUsageCreateInfo' -- | Alias for VkImageStencilUsageCreateInfo type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org type VkImageSubresource = VkStruct VkImageSubresource' -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org type VkImageSwapchainCreateInfoKHR = VkStruct VkImageSwapchainCreateInfoKHR' -- |
--   typedef struct VkImageViewASTCDecodeModeEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         decodeMode;
--   } VkImageViewASTCDecodeModeEXT;
--   
-- -- VkImageViewASTCDecodeModeEXT registry at www.khronos.org type VkImageViewASTCDecodeModeEXT = VkStruct VkImageViewASTCDecodeModeEXT' -- |
--   typedef struct VkImageViewAddressPropertiesNVX {
--       VkStructureType sType;
--       void*              pNext;
--       VkDeviceAddress    deviceAddress;
--       VkDeviceSize       size;
--   } VkImageViewAddressPropertiesNVX;
--   
-- -- VkImageViewAddressPropertiesNVX registry at www.khronos.org type VkImageViewAddressPropertiesNVX = VkStruct VkImageViewAddressPropertiesNVX' -- |
--   typedef struct VkImageViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageViewCreateFlags flags;
--       VkImage                image;
--       VkImageViewType        viewType;
--       VkFormat               format;
--       VkComponentMapping     components;
--       VkImageSubresourceRange subresourceRange;
--   } VkImageViewCreateInfo;
--   
-- -- VkImageViewCreateInfo registry at www.khronos.org type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- |
--   typedef struct VkImageViewHandleInfoNVX {
--       VkStructureType sType;
--       const void*            pNext;
--       VkImageView                         imageView;
--       VkDescriptorType                    descriptorType;
--       VkSampler           sampler;
--   } VkImageViewHandleInfoNVX;
--   
-- -- VkImageViewHandleInfoNVX registry at www.khronos.org type VkImageViewHandleInfoNVX = VkStruct VkImageViewHandleInfoNVX' -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org type VkImageViewUsageCreateInfo = VkStruct VkImageViewUsageCreateInfo' -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org type VkPhysicalDevice16BitStorageFeatures = VkStruct VkPhysicalDevice16BitStorageFeatures' -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           formatA4R4G4B4;
--       VkBool32                           formatA4B4G4R4;
--   } VkPhysicalDevice4444FormatsFeaturesEXT;
--   
-- -- VkPhysicalDevice4444FormatsFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevice4444FormatsFeaturesEXT = VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- |
--   typedef struct VkPhysicalDevice8BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--   } VkPhysicalDevice8BitStorageFeatures;
--   
-- -- VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org type VkPhysicalDevice8BitStorageFeatures = VkStruct VkPhysicalDevice8BitStorageFeatures' -- | Alias for VkPhysicalDevice8BitStorageFeatures type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         decodeModeSharedExponent;
--   } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--   
-- -- VkPhysicalDeviceASTCDecodeFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceASTCDecodeFeaturesEXT = VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         advancedBlendMaxColorAttachments;
--       VkBool32                         advancedBlendIndependentBlend;
--       VkBool32                         advancedBlendNonPremultipliedSrcColor;
--       VkBool32                         advancedBlendNonPremultipliedDstColor;
--       VkBool32                         advancedBlendCorrelatedOverlap;
--       VkBool32                         advancedBlendAllOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeaturesEXT type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeatures;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeatures registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeatures = VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- |
--   typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           bufferDeviceAddress;
--       VkBool32                           bufferDeviceAddressCaptureReplay;
--       VkBool32                           bufferDeviceAddressMultiDevice;
--   } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--   
-- -- VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- | Alias for VkPhysicalDeviceBufferDeviceAddressFeatures type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures -- |
--   typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           deviceCoherentMemory;
--   } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--   
-- -- VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at -- www.khronos.org type VkPhysicalDeviceCoherentMemoryFeaturesAMD = VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- |
--   typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         computeDerivativeGroupQuads;
--       VkBool32                         computeDerivativeGroupLinear;
--   } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--   
-- -- VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           conditionalRendering;
--       VkBool32                           inheritedConditionalRendering;
--   } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--   
-- -- VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceConditionalRenderingFeaturesEXT = VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       float                  primitiveOverestimationSize;
--       float                  maxExtraPrimitiveOverestimationSize;
--       float                  extraPrimitiveOverestimationSizeGranularity;
--       VkBool32               primitiveUnderestimation;
--       VkBool32               conservativePointAndLineRasterization;
--       VkBool32               degenerateTrianglesRasterized;
--       VkBool32               degenerateLinesRasterized;
--       VkBool32               fullyCoveredFragmentShaderInputVariable;
--       VkBool32               conservativeRasterizationPostDepthCoverage;
--   } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            cooperativeMatrix;
--       VkBool32                            cooperativeMatrixRobustBufferAccess;
--   } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixFeaturesNV = VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--   
-- -- VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceCooperativeMatrixPropertiesNV = VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           cornerSampledImage;
--   } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--   
-- -- VkPhysicalDeviceCornerSampledImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCornerSampledImageFeaturesNV = VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       coverageReductionMode;
--   } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--   
-- -- VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceCoverageReductionModeFeaturesNV = VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           customBorderColors;
--       VkBool32                           customBorderColorWithoutFormat;
--   } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorFeaturesEXT = VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--       VkStructureType sType;
--       void*                                                                   pNext;
--       uint32_t                                                                                      maxCustomBorderColorSamplers;
--   } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--   
-- -- VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceCustomBorderColorPropertiesEXT = VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         dedicatedAllocationImageAliasing;
--   } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--   
-- -- VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry -- at www.khronos.org type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = VkStruct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               depthClipEnable;
--   } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--   
-- -- VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceDepthClipEnableFeaturesEXT = VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--       VkStructureType sType;
--       void*                                pNext;
--       VkResolveModeFlags                   supportedDepthResolveModes;
--       VkResolveModeFlags                   supportedStencilResolveModes;
--       VkBool32                             independentResolveNone;
--       VkBool32                             independentResolve;
--   } VkPhysicalDeviceDepthStencilResolveProperties;
--   
-- -- VkPhysicalDeviceDepthStencilResolveProperties registry at -- www.khronos.org type VkPhysicalDeviceDepthStencilResolveProperties = VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- | Alias for VkPhysicalDeviceDepthStencilResolveProperties type VkPhysicalDeviceDepthStencilResolvePropertiesKHR = VkPhysicalDeviceDepthStencilResolveProperties -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32               shaderSampledImageArrayNonUniformIndexing;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageImageArrayNonUniformIndexing;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32               descriptorBindingUpdateUnusedWhilePending;
--       VkBool32               descriptorBindingPartiallyBound;
--       VkBool32               descriptorBindingVariableDescriptorCount;
--       VkBool32               runtimeDescriptorArray;
--   } VkPhysicalDeviceDescriptorIndexingFeatures;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeatures registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingFeatures = VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- | Alias for VkPhysicalDeviceDescriptorIndexingFeatures type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32               robustBufferAccessUpdateAfterBind;
--       VkBool32               quadDivergentImplicitLod;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t               maxPerStageUpdateAfterBindResources;
--       uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   } VkPhysicalDeviceDescriptorIndexingProperties;
--   
-- -- VkPhysicalDeviceDescriptorIndexingProperties registry at -- www.khronos.org type VkPhysicalDeviceDescriptorIndexingProperties = VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- | Alias for VkPhysicalDeviceDescriptorIndexingProperties type VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingProperties -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       deviceGeneratedCommands;
--   } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t         maxGraphicsShaderGroupCount;
--       uint32_t         maxIndirectSequenceCount;
--       uint32_t         maxIndirectCommandsTokenCount;
--       uint32_t         maxIndirectCommandsStreamCount;
--       uint32_t         maxIndirectCommandsTokenOffset;
--       uint32_t         maxIndirectCommandsStreamStride;
--       uint32_t         minSequencesCountBufferOffsetAlignment;
--       uint32_t         minSequencesIndexBufferOffsetAlignment;
--       uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--   
-- -- VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       diagnosticsConfig;
--   } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--   
-- -- VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceDiagnosticsConfigFeaturesNV = VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceDriverProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--   } VkPhysicalDeviceDriverProperties;
--   
-- -- VkPhysicalDeviceDriverProperties registry at www.khronos.org type VkPhysicalDeviceDriverProperties = VkStruct VkPhysicalDeviceDriverProperties' -- | Alias for VkPhysicalDeviceDriverProperties type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties -- |
--   typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         exclusiveScissor;
--   } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--   
-- -- VkPhysicalDeviceExclusiveScissorFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceExclusiveScissorFeaturesNV = VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           extendedDynamicState;
--   } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--   
-- -- VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org type VkPhysicalDeviceExternalBufferInfo = VkStruct VkPhysicalDeviceExternalBufferInfo' -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org type VkPhysicalDeviceExternalFenceInfo = VkStruct VkPhysicalDeviceExternalFenceInfo' -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalImageFormatInfo = VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org type VkPhysicalDeviceExternalSemaphoreInfo = VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceFloatControlsProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkShaderFloatControlsIndependence denormBehaviorIndependence;
--       VkShaderFloatControlsIndependence roundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--   } VkPhysicalDeviceFloatControlsProperties;
--   
-- -- VkPhysicalDeviceFloatControlsProperties registry at -- www.khronos.org type VkPhysicalDeviceFloatControlsProperties = VkStruct VkPhysicalDeviceFloatControlsProperties' -- | Alias for VkPhysicalDeviceFloatControlsProperties type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMapDeferred;
--   } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32                       subsampledLoads;
--       VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--       uint32_t                       maxSubsampledArrayLayers;
--       uint32_t                       maxDescriptorSetSubsampledSamplers;
--   } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentDensityMap;
--       VkBool32                         fragmentDensityMapDynamic;
--       VkBool32                         fragmentDensityMapNonSubsampledImages;
--   } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapFeaturesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       minFragmentDensityTexelSize;
--       VkExtent2D                       maxFragmentDensityTexelSize;
--       VkBool32                         fragmentDensityInvocations;
--   } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--   
-- -- VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentDensityMapPropertiesEXT = VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         fragmentShaderBarycentric;
--   } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--   
-- -- VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               fragmentShaderSampleInterlock;
--       VkBool32               fragmentShaderPixelInterlock;
--       VkBool32               fragmentShaderShadingRateInterlock;
--   } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceGroupProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         physicalDeviceCount;
--       VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--       VkBool32                         subsetAllocation;
--   } VkPhysicalDeviceGroupProperties;
--   
-- -- VkPhysicalDeviceGroupProperties registry at www.khronos.org type VkPhysicalDeviceGroupProperties = VkStruct VkPhysicalDeviceGroupProperties' -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           hostQueryReset;
--   } VkPhysicalDeviceHostQueryResetFeatures;
--   
-- -- VkPhysicalDeviceHostQueryResetFeatures registry at -- www.khronos.org type VkPhysicalDeviceHostQueryResetFeatures = VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- | Alias for VkPhysicalDeviceHostQueryResetFeatures type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures -- |
--   typedef struct VkPhysicalDeviceIDProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--   } VkPhysicalDeviceIDProperties;
--   
-- -- VkPhysicalDeviceIDProperties registry at www.khronos.org type VkPhysicalDeviceIDProperties = VkStruct VkPhysicalDeviceIDProperties' -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       uint64_t drmFormatModifier;
--       VkSharingMode sharingMode;
--       uint32_t queueFamilyIndexCount;
--       const uint32_t* pQueueFamilyIndices;
--   } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--   
-- -- VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageDrmFormatModifierInfoEXT = VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImageFormatInfo2 {
--       VkStructureType sType;
--       const void* pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkImageTiling                    tiling;
--       VkImageUsageFlags                usage;
--       VkImageCreateFlags flags;
--   } VkPhysicalDeviceImageFormatInfo2;
--   
-- -- VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org type VkPhysicalDeviceImageFormatInfo2 = VkStruct VkPhysicalDeviceImageFormatInfo2' -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustImageAccess;
--   } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--   
-- -- VkPhysicalDeviceImageRobustnessFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageViewType                  imageViewType;
--   } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--   
-- -- VkPhysicalDeviceImageViewImageFormatInfoEXT registry at -- www.khronos.org type VkPhysicalDeviceImageViewImageFormatInfoEXT = VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- |
--   typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--       VkStructureType sType;
--       void*                                    pNext;
--       VkBool32                                 imagelessFramebuffer;
--   } VkPhysicalDeviceImagelessFramebufferFeatures;
--   
-- -- VkPhysicalDeviceImagelessFramebufferFeatures registry at -- www.khronos.org type VkPhysicalDeviceImagelessFramebufferFeatures = VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- | Alias for VkPhysicalDeviceImagelessFramebufferFeatures type VkPhysicalDeviceImagelessFramebufferFeaturesKHR = VkPhysicalDeviceImagelessFramebufferFeatures -- |
--   typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           indexTypeUint8;
--   } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--   
-- -- VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               inlineUniformBlock;
--       VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxInlineUniformBlockSize;
--       uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--       uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--       uint32_t               maxDescriptorSetInlineUniformBlocks;
--       uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--   
-- -- VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           rectangularLines;
--       VkBool32                           bresenhamLines;
--       VkBool32                           smoothLines;
--       VkBool32                           stippledRectangularLines;
--       VkBool32                           stippledBresenhamLines;
--       VkBool32                           stippledSmoothLines;
--   } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationFeaturesEXT = VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            lineSubPixelPrecisionBits;
--   } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--   
-- -- VkPhysicalDeviceLineRasterizationPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceLineRasterizationPropertiesEXT = VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org type VkPhysicalDeviceMaintenance3Properties = VkStruct VkPhysicalDeviceMaintenance3Properties' -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--       VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--   
-- -- VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryBudgetPropertiesEXT = VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           memoryPriority;
--   } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--   
-- -- VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceMemoryPriorityFeaturesEXT = VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org type VkPhysicalDeviceMemoryProperties2 = VkStruct VkPhysicalDeviceMemoryProperties2' -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            taskShader;
--       VkBool32                            meshShader;
--   } VkPhysicalDeviceMeshShaderFeaturesNV;
--   
-- -- VkPhysicalDeviceMeshShaderFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderFeaturesNV = VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       uint32_t                            maxDrawMeshTasksCount;
--       uint32_t                            maxTaskWorkGroupInvocations;
--       uint32_t                            maxTaskWorkGroupSize[3];
--       uint32_t                            maxTaskTotalMemorySize;
--       uint32_t                            maxTaskOutputCount;
--       uint32_t                            maxMeshWorkGroupInvocations;
--       uint32_t                            maxMeshWorkGroupSize[3];
--       uint32_t                            maxMeshTotalMemorySize;
--       uint32_t                            maxMeshOutputVertices;
--       uint32_t                            maxMeshOutputPrimitives;
--       uint32_t                            maxMeshMultiviewViewCount;
--       uint32_t                            meshOutputPerVertexGranularity;
--       uint32_t                            meshOutputPerPrimitiveGranularity;
--   } VkPhysicalDeviceMeshShaderPropertiesNV;
--   
-- -- VkPhysicalDeviceMeshShaderPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceMeshShaderPropertiesNV = VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org type VkPhysicalDeviceMultiviewFeatures = VkStruct VkPhysicalDeviceMultiviewFeatures' -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org type VkPhysicalDeviceMultiviewProperties = VkStruct VkPhysicalDeviceMultiviewProperties' -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               pciDomain;
--       uint32_t               pciBus;
--       uint32_t               pciDevice;
--       uint32_t               pciFunction;
--   } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--   
-- -- VkPhysicalDevicePCIBusInfoPropertiesEXT registry at -- www.khronos.org type VkPhysicalDevicePCIBusInfoPropertiesEXT = VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         performanceCounterQueryPools;
--       VkBool32                         performanceCounterMultipleQueryPools;
--   } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryFeaturesKHR = VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32 allowCommandBufferQueryCopies;
--   } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--   
-- -- VkPhysicalDevicePerformanceQueryPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePerformanceQueryPropertiesKHR = VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- |
--   typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkBool32                                                         pipelineCreationCacheControl;
--   } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--   
-- -- VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkBool32           pipelineExecutableInfo;
--   } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--   
-- -- VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at -- www.khronos.org type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org type VkPhysicalDevicePointClippingProperties = VkStruct VkPhysicalDevicePointClippingProperties' -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--       VkStructureType sType;
--       void*                                  pNext;
--       VkBool32                               privateData;
--   } VkPhysicalDevicePrivateDataFeaturesEXT;
--   
-- -- VkPhysicalDevicePrivateDataFeaturesEXT registry at -- www.khronos.org type VkPhysicalDevicePrivateDataFeaturesEXT = VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryFeatures = VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org type VkPhysicalDeviceProtectedMemoryProperties = VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org type VkPhysicalDevicePushDescriptorPropertiesKHR = VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       representativeFragmentTest;
--   } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--   
-- -- VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           robustBufferAccess2;
--       VkBool32                           robustImageAccess2;
--       VkBool32                           nullDescriptor;
--   } VkPhysicalDeviceRobustness2FeaturesEXT;
--   
-- -- VkPhysicalDeviceRobustness2FeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2FeaturesEXT = VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--       VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   } VkPhysicalDeviceRobustness2PropertiesEXT;
--   
-- -- VkPhysicalDeviceRobustness2PropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceRobustness2PropertiesEXT = VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSampleCountFlags               sampleLocationSampleCounts;
--       VkExtent2D                       maxSampleLocationGridSize;
--       float                            sampleLocationCoordinateRange[2];
--       uint32_t                         sampleLocationSubPixelBits;
--       VkBool32                         variableSampleLocations;
--   } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--   
-- -- VkPhysicalDeviceSampleLocationsPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSampleLocationsPropertiesEXT = VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxProperties registry at -- www.khronos.org type VkPhysicalDeviceSamplerFilterMinmaxProperties = VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- | Alias for VkPhysicalDeviceSamplerFilterMinmaxProperties type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org type VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            scalarBlockLayout;
--   } VkPhysicalDeviceScalarBlockLayoutFeatures;
--   
-- -- VkPhysicalDeviceScalarBlockLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceScalarBlockLayoutFeatures = VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- | Alias for VkPhysicalDeviceScalarBlockLayoutFeatures type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -- |
--   typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       separateDepthStencilLayouts;
--   } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--   
-- -- VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at -- www.khronos.org type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- | Alias for VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures -- |
--   typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferFloat32Atomics;
--       VkBool32                            shaderBufferFloat32AtomicAdd;
--       VkBool32                            shaderBufferFloat64Atomics;
--       VkBool32                            shaderBufferFloat64AtomicAdd;
--       VkBool32                            shaderSharedFloat32Atomics;
--       VkBool32                            shaderSharedFloat32AtomicAdd;
--       VkBool32                            shaderSharedFloat64Atomics;
--       VkBool32                            shaderSharedFloat64AtomicAdd;
--       VkBool32                            shaderImageFloat32Atomics;
--       VkBool32                            shaderImageFloat32AtomicAdd;
--       VkBool32                            sparseImageFloat32Atomics;
--       VkBool32                            sparseImageFloat32AtomicAdd;
--   } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderBufferInt64Atomics;
--       VkBool32                            shaderSharedInt64Atomics;
--   } VkPhysicalDeviceShaderAtomicInt64Features;
--   
-- -- VkPhysicalDeviceShaderAtomicInt64Features registry at -- www.khronos.org type VkPhysicalDeviceShaderAtomicInt64Features = VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- | Alias for VkPhysicalDeviceShaderAtomicInt64Features type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features -- |
--   typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shaderSubgroupClock;
--       VkBool32                            shaderDeviceClock;
--   } VkPhysicalDeviceShaderClockFeaturesKHR;
--   
-- -- VkPhysicalDeviceShaderClockFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceShaderClockFeaturesKHR = VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--       VkStructureType sType;
--       void*    pNext;
--       VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--       uint32_t activeComputeUnitCount;
--   } VkPhysicalDeviceShaderCoreProperties2AMD;
--   
-- -- VkPhysicalDeviceShaderCoreProperties2AMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCoreProperties2AMD = VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- |
--   typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--       VkStructureType sType;
--       void*    pNext;
--       uint32_t shaderEngineCount;
--       uint32_t shaderArraysPerEngineCount;
--       uint32_t computeUnitsPerShaderArray;
--       uint32_t simdPerComputeUnit;
--       uint32_t wavefrontsPerSimd;
--       uint32_t wavefrontSize;
--       uint32_t sgprsPerSimd;
--       uint32_t minSgprAllocation;
--       uint32_t maxSgprAllocation;
--       uint32_t sgprAllocationGranularity;
--       uint32_t vgprsPerSimd;
--       uint32_t minVgprAllocation;
--       uint32_t maxVgprAllocation;
--       uint32_t vgprAllocationGranularity;
--   } VkPhysicalDeviceShaderCorePropertiesAMD;
--   
-- -- VkPhysicalDeviceShaderCorePropertiesAMD registry at -- www.khronos.org type VkPhysicalDeviceShaderCorePropertiesAMD = VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- |
--   typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           shaderDemoteToHelperInvocation;
--   } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--   
-- -- VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry -- at www.khronos.org type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- | Alias for VkPhysicalDeviceShaderDrawParametersFeatures type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures -- |
--   typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParametersFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParametersFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderDrawParametersFeatures = VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- |
--   typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--   } VkPhysicalDeviceShaderFloat16Int8Features;
--   
-- -- VkPhysicalDeviceShaderFloat16Int8Features registry at -- www.khronos.org type VkPhysicalDeviceShaderFloat16Int8Features = VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- | Alias for VkPhysicalDeviceShaderFloat16Int8Features type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features -- |
--   typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--       VkStructureType sType;
--       void*                              pNext;
--       VkBool32                           imageFootprint;
--   } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderImageFootprintFeaturesNV = VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderIntegerFunctions2;
--   } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--   
-- -- VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at -- www.khronos.org type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                       shaderSMBuiltins;
--   } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t                       shaderSMCount;
--       uint32_t                       shaderWarpsPerSM;
--   } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--   
-- -- VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 shaderSubgroupExtendedTypes;
--   } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--   
-- -- VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at -- www.khronos.org type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- | Alias for VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures -- |
--   typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            shadingRateImage;
--       VkBool32                            shadingRateCoarseSampleOrder;
--   } VkPhysicalDeviceShadingRateImageFeaturesNV;
--   
-- -- VkPhysicalDeviceShadingRateImageFeaturesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImageFeaturesNV = VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- |
--   typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--       VkStructureType sType;
--       void*                               pNext;
--       VkExtent2D                          shadingRateTexelSize;
--       uint32_t                            shadingRatePaletteSize;
--       uint32_t                            shadingRateMaxCoarseSamples;
--   } VkPhysicalDeviceShadingRateImagePropertiesNV;
--   
-- -- VkPhysicalDeviceShadingRateImagePropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceShadingRateImagePropertiesNV = VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkImageType                      type;
--       VkSampleCountFlagBits            samples;
--       VkImageUsageFlags                usage;
--       VkImageTiling                    tiling;
--   } VkPhysicalDeviceSparseImageFormatInfo2;
--   
-- -- VkPhysicalDeviceSparseImageFormatInfo2 registry at -- www.khronos.org type VkPhysicalDeviceSparseImageFormatInfo2 = VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- | Alias for VkPhysicalDeviceSparseImageFormatInfo2 type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2 -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org type VkPhysicalDeviceSubgroupProperties = VkStruct VkPhysicalDeviceSubgroupProperties' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       VkBool32 subgroupSizeControl;
--       VkBool32 computeFullSubgroups;
--   } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--       VkStructureType sType;
--       void*                          pNext;
--       uint32_t minSubgroupSize;
--       uint32_t maxSubgroupSize;
--       uint32_t maxComputeWorkgroupSubgroups;
--       VkShaderStageFlags             requiredSubgroupSizeStages;
--   } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--   
-- -- VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org type VkPhysicalDeviceSurfaceInfo2KHR = VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           texelBufferAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--       VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--       VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--       VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--   
-- -- VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               textureCompressionASTC_HDR;
--   } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--   
-- -- VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               timelineSemaphore;
--   } VkPhysicalDeviceTimelineSemaphoreFeatures;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreFeatures registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreFeatures = VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- | Alias for VkPhysicalDeviceTimelineSemaphoreFeatures type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures -- |
--   typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--       VkStructureType sType;
--       void*                  pNext;
--       uint64_t               maxTimelineSemaphoreValueDifference;
--   } VkPhysicalDeviceTimelineSemaphoreProperties;
--   
-- -- VkPhysicalDeviceTimelineSemaphoreProperties registry at -- www.khronos.org type VkPhysicalDeviceTimelineSemaphoreProperties = VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- | Alias for VkPhysicalDeviceTimelineSemaphoreProperties type VkPhysicalDeviceTimelineSemaphorePropertiesKHR = VkPhysicalDeviceTimelineSemaphoreProperties -- |
--   typedef struct VkPhysicalDeviceToolPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       char            name[VK_MAX_EXTENSION_NAME_SIZE];
--       char            version[VK_MAX_EXTENSION_NAME_SIZE];
--       VkToolPurposeFlagsEXT purposes;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--       char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   } VkPhysicalDeviceToolPropertiesEXT;
--   
-- -- VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org type VkPhysicalDeviceToolPropertiesEXT = VkStruct VkPhysicalDeviceToolPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               transformFeedback;
--       VkBool32               geometryStreams;
--   } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackFeaturesEXT = VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxTransformFeedbackStreams;
--       uint32_t               maxTransformFeedbackBuffers;
--       VkDeviceSize           maxTransformFeedbackBufferSize;
--       uint32_t               maxTransformFeedbackStreamDataSize;
--       uint32_t               maxTransformFeedbackBufferDataSize;
--       uint32_t               maxTransformFeedbackBufferDataStride;
--       VkBool32               transformFeedbackQueries;
--       VkBool32               transformFeedbackStreamsLinesTriangles;
--       VkBool32               transformFeedbackRasterizationStreamSelect;
--       VkBool32               transformFeedbackDraw;
--   } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--   
-- -- VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceTransformFeedbackPropertiesEXT = VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            uniformBufferStandardLayout;
--   } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--   
-- -- VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at -- www.khronos.org type VkPhysicalDeviceUniformBufferStandardLayoutFeatures = VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- | Alias for VkPhysicalDeviceUniformBufferStandardLayoutFeatures type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVariablePointersFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointersFeatures;
--   
-- -- VkPhysicalDeviceVariablePointersFeatures registry at -- www.khronos.org type VkPhysicalDeviceVariablePointersFeatures = VkStruct VkPhysicalDeviceVariablePointersFeatures' -- | Alias for VkPhysicalDeviceVariablePointersFeatures type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           vertexAttributeInstanceRateDivisor;
--       VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- |
--   typedef struct VkPhysicalDeviceVulkan11Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--       VkBool32                         protectedMemory;
--       VkBool32                         samplerYcbcrConversion;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceVulkan11Features;
--   
-- -- VkPhysicalDeviceVulkan11Features registry at www.khronos.org type VkPhysicalDeviceVulkan11Features = VkStruct VkPhysicalDeviceVulkan11Features' -- |
--   typedef struct VkPhysicalDeviceVulkan11Properties {
--       VkStructureTypesType;
--       void*      pNext;
--       uint8_t                          deviceUUID[VK_UUID_SIZE];
--       uint8_t                          driverUUID[VK_UUID_SIZE];
--       uint8_t                          deviceLUID[VK_LUID_SIZE];
--       uint32_t                         deviceNodeMask;
--       VkBool32                         deviceLUIDValid;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            subgroupSupportedStages;
--       VkSubgroupFeatureFlags        subgroupSupportedOperations;
--       VkBool32                      subgroupQuadOperationsInAllStages;
--       VkPointClippingBehavior          pointClippingBehavior;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--       VkBool32                         protectedNoFault;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceVulkan11Properties;
--   
-- -- VkPhysicalDeviceVulkan11Properties registry at www.khronos.org type VkPhysicalDeviceVulkan11Properties = VkStruct VkPhysicalDeviceVulkan11Properties' -- |
--   typedef struct VkPhysicalDeviceVulkan12Features {
--       VkStructureTypesType;
--       void*    pNext;
--       VkBool32                         samplerMirrorClampToEdge;
--       VkBool32                         drawIndirectCount;
--       VkBool32                         storageBuffer8BitAccess;
--       VkBool32                         uniformAndStorageBuffer8BitAccess;
--       VkBool32                         storagePushConstant8;
--       VkBool32                         shaderBufferInt64Atomics;
--       VkBool32                         shaderSharedInt64Atomics;
--       VkBool32                         shaderFloat16;
--       VkBool32                         shaderInt8;
--       VkBool32                         descriptorIndexing;
--       VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--       VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--       VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--       VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--       VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--       VkBool32                         descriptorBindingPartiallyBound;
--       VkBool32                         descriptorBindingVariableDescriptorCount;
--       VkBool32                         runtimeDescriptorArray;
--       VkBool32                         samplerFilterMinmax;
--       VkBool32                         scalarBlockLayout;
--       VkBool32                         imagelessFramebuffer;
--       VkBool32                         uniformBufferStandardLayout;
--       VkBool32                         shaderSubgroupExtendedTypes;
--       VkBool32                         separateDepthStencilLayouts;
--       VkBool32                         hostQueryReset;
--       VkBool32                         timelineSemaphore;
--       VkBool32                         bufferDeviceAddress;
--       VkBool32                         bufferDeviceAddressCaptureReplay;
--       VkBool32                         bufferDeviceAddressMultiDevice;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--       VkBool32                         shaderOutputViewportIndex;
--       VkBool32                         shaderOutputLayer;
--       VkBool32                         subgroupBroadcastDynamicId;
--   } VkPhysicalDeviceVulkan12Features;
--   
-- -- VkPhysicalDeviceVulkan12Features registry at www.khronos.org type VkPhysicalDeviceVulkan12Features = VkStruct VkPhysicalDeviceVulkan12Features' -- |
--   typedef struct VkPhysicalDeviceVulkan12Properties {
--       VkStructureTypesType;
--       void*    pNext;
--       VkDriverId                       driverID;
--       char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--       char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--       VkConformanceVersion             conformanceVersion;
--       VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--       VkShaderFloatControlsIndependenceroundingModeIndependence;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--       VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--       VkBool32                         shaderDenormPreserveFloat16;
--       VkBool32                         shaderDenormPreserveFloat32;
--       VkBool32                         shaderDenormPreserveFloat64;
--       VkBool32                         shaderDenormFlushToZeroFloat16;
--       VkBool32                         shaderDenormFlushToZeroFloat32;
--       VkBool32                         shaderDenormFlushToZeroFloat64;
--       VkBool32                         shaderRoundingModeRTEFloat16;
--       VkBool32                         shaderRoundingModeRTEFloat32;
--       VkBool32                         shaderRoundingModeRTEFloat64;
--       VkBool32                         shaderRoundingModeRTZFloat16;
--       VkBool32                         shaderRoundingModeRTZFloat32;
--       VkBool32                         shaderRoundingModeRTZFloat64;
--       uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--       VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--       VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--       VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--       VkBool32                         robustBufferAccessUpdateAfterBind;
--       VkBool32                         quadDivergentImplicitLod;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--       uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--       uint32_t                         maxPerStageUpdateAfterBindResources;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--       uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--       uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--       VkResolveModeFlags               supportedDepthResolveModes;
--       VkResolveModeFlags               supportedStencilResolveModes;
--       VkBool32                         independentResolveNone;
--       VkBool32                         independentResolve;
--       VkBool32                         filterMinmaxSingleComponentFormats;
--       VkBool32                         filterMinmaxImageComponentMapping;
--       uint64_t                         maxTimelineSemaphoreValueDifference;
--       VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   } VkPhysicalDeviceVulkan12Properties;
--   
-- -- VkPhysicalDeviceVulkan12Properties registry at www.khronos.org type VkPhysicalDeviceVulkan12Properties = VkStruct VkPhysicalDeviceVulkan12Properties' -- |
--   typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         vulkanMemoryModel;
--       VkBool32                         vulkanMemoryModelDeviceScope;
--       VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   } VkPhysicalDeviceVulkanMemoryModelFeatures;
--   
-- -- VkPhysicalDeviceVulkanMemoryModelFeatures registry at -- www.khronos.org type VkPhysicalDeviceVulkanMemoryModelFeatures = VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- | Alias for VkPhysicalDeviceVulkanMemoryModelFeatures type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -- |
--   typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--       VkStructureType sType;
--       void*        pNext;
--       VkBool32                           ycbcrImageArrays;
--   } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--   
-- -- VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at -- www.khronos.org type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' -- |
--   typedef struct VkQueueFamilyCheckpointPropertiesNV {
--       VkStructureType sType;
--       void*           pNext;
--       VkPipelineStageFlags checkpointExecutionStageMask;
--   } VkQueueFamilyCheckpointPropertiesNV;
--   
-- -- VkQueueFamilyCheckpointPropertiesNV registry at www.khronos.org type VkQueueFamilyCheckpointPropertiesNV = VkStruct VkQueueFamilyCheckpointPropertiesNV' -- |
--   typedef struct VkQueueFamilyProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkQueueFamilyProperties          queueFamilyProperties;
--   } VkQueueFamilyProperties2;
--   
-- -- VkQueueFamilyProperties2 registry at www.khronos.org type VkQueueFamilyProperties2 = VkStruct VkQueueFamilyProperties2' -- | Alias for VkQueueFamilyProperties2 type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2 -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' type VkCreateDevice = "vkCreateDevice" pattern VkCreateDevice :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_FEATURE_NOT_PRESENT, VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkCreateDevice
--       ( VkPhysicalDevice physicalDevice
--       , const VkDeviceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDevice* pDevice
--       )
--   
-- -- vkCreateDevice registry at www.khronos.org type HS_vkCreateDevice = VkPhysicalDevice " physicalDevice" -> Ptr VkDeviceCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDevice " pDevice" -> IO VkResult type PFN_vkCreateDevice = FunPtr HS_vkCreateDevice -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_FEATURE_NOT_PRESENT, VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkCreateDevice
--       ( VkPhysicalDevice physicalDevice
--       , const VkDeviceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDevice* pDevice
--       )
--   
-- -- vkCreateDevice registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDevice <- vkGetProc @VkCreateDevice
--   
-- -- Note: vkCreateDeviceUnsafe and -- vkCreateDeviceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateDevice is -- an alias of vkCreateDeviceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDeviceSafe. vkCreateDevice :: VkPhysicalDevice -> Ptr VkDeviceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDevice -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_FEATURE_NOT_PRESENT, VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkCreateDevice
--       ( VkPhysicalDevice physicalDevice
--       , const VkDeviceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDevice* pDevice
--       )
--   
-- -- vkCreateDevice registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDevice <- vkGetProc @VkCreateDevice
--   
-- -- Note: vkCreateDeviceUnsafe and -- vkCreateDeviceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateDevice is -- an alias of vkCreateDeviceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDeviceSafe. vkCreateDeviceUnsafe :: VkPhysicalDevice -> Ptr VkDeviceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDevice -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_FEATURE_NOT_PRESENT, VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkCreateDevice
--       ( VkPhysicalDevice physicalDevice
--       , const VkDeviceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDevice* pDevice
--       )
--   
-- -- vkCreateDevice registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance
--   
-- -- or less efficient: -- --
--   myCreateDevice <- vkGetProc @VkCreateDevice
--   
-- -- Note: vkCreateDeviceUnsafe and -- vkCreateDeviceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateDevice is -- an alias of vkCreateDeviceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDeviceSafe. vkCreateDeviceSafe :: VkPhysicalDevice -> Ptr VkDeviceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDevice -> IO VkResult type VkDestroyDevice = "vkDestroyDevice" pattern VkDestroyDevice :: CString -- |
--   void vkDestroyDevice
--       ( VkDevice device
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDevice registry at www.khronos.org type HS_vkDestroyDevice = VkDevice " device" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDevice = FunPtr HS_vkDestroyDevice -- |
--   void vkDestroyDevice
--       ( VkDevice device
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDevice registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDevice <- vkGetProc @VkDestroyDevice
--   
-- -- Note: vkDestroyDeviceUnsafe and -- vkDestroyDeviceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyDevice -- is an alias of vkDestroyDeviceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDeviceSafe. vkDestroyDevice :: VkDevice -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDevice
--       ( VkDevice device
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDevice registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDevice <- vkGetProc @VkDestroyDevice
--   
-- -- Note: vkDestroyDeviceUnsafe and -- vkDestroyDeviceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyDevice -- is an alias of vkDestroyDeviceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDeviceSafe. vkDestroyDeviceUnsafe :: VkDevice -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDevice
--       ( VkDevice device
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDevice registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDevice <- vkGetProc @VkDestroyDevice
--   
-- -- Note: vkDestroyDeviceUnsafe and -- vkDestroyDeviceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyDevice -- is an alias of vkDestroyDeviceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDeviceSafe. vkDestroyDeviceSafe :: VkDevice -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
--       VkStructureType sType;
--       const void*                                         pNext;
--       VkDeviceDiagnosticsConfigFlagsNV    flags;
--   } VkDeviceDiagnosticsConfigCreateInfoNV;
--   
-- -- VkDeviceDiagnosticsConfigCreateInfoNV registry at -- www.khronos.org type VkDeviceDiagnosticsConfigCreateInfoNV = VkStruct VkDeviceDiagnosticsConfigCreateInfoNV' -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org type VkDeviceGroupBindSparseInfo = VkStruct VkDeviceGroupBindSparseInfo' -- | Alias for VkDeviceGroupBindSparseInfo type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo -- |
--   typedef struct VkDeviceGroupCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--   } VkDeviceGroupCommandBufferBeginInfo;
--   
-- -- VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org type VkDeviceGroupCommandBufferBeginInfo = VkStruct VkDeviceGroupCommandBufferBeginInfo' -- | Alias for VkDeviceGroupCommandBufferBeginInfo type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo -- |
--   typedef struct VkDeviceGroupDeviceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         physicalDeviceCount;
--       const VkPhysicalDevice*  pPhysicalDevices;
--   } VkDeviceGroupDeviceCreateInfo;
--   
-- -- VkDeviceGroupDeviceCreateInfo registry at www.khronos.org type VkDeviceGroupDeviceCreateInfo = VkStruct VkDeviceGroupDeviceCreateInfo' -- | Alias for VkDeviceGroupDeviceCreateInfo type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo -- |
--   typedef struct VkDeviceGroupPresentCapabilitiesKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];
--       VkDeviceGroupPresentModeFlagsKHR modes;
--   } VkDeviceGroupPresentCapabilitiesKHR;
--   
-- -- VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org type VkDeviceGroupPresentCapabilitiesKHR = VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- |
--   typedef struct VkDeviceGroupPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         swapchainCount;
--       const uint32_t* pDeviceMasks;
--       VkDeviceGroupPresentModeFlagBitsKHR mode;
--   } VkDeviceGroupPresentInfoKHR;
--   
-- -- VkDeviceGroupPresentInfoKHR registry at www.khronos.org type VkDeviceGroupPresentInfoKHR = VkStruct VkDeviceGroupPresentInfoKHR' -- |
--   typedef struct VkDeviceGroupRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         deviceMask;
--       uint32_t         deviceRenderAreaCount;
--       const VkRect2D*  pDeviceRenderAreas;
--   } VkDeviceGroupRenderPassBeginInfo;
--   
-- -- VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org type VkDeviceGroupRenderPassBeginInfo = VkStruct VkDeviceGroupRenderPassBeginInfo' -- | Alias for VkDeviceGroupRenderPassBeginInfo type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo -- |
--   typedef struct VkDeviceGroupSubmitInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         waitSemaphoreCount;
--       const uint32_t*    pWaitSemaphoreDeviceIndices;
--       uint32_t         commandBufferCount;
--       const uint32_t*    pCommandBufferDeviceMasks;
--       uint32_t         signalSemaphoreCount;
--       const uint32_t*  pSignalSemaphoreDeviceIndices;
--   } VkDeviceGroupSubmitInfo;
--   
-- -- VkDeviceGroupSubmitInfo registry at www.khronos.org type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org type VkDeviceGroupSwapchainCreateInfoKHR = VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- |
--   typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--   } VkDeviceMemoryOpaqueCaptureAddressInfo;
--   
-- -- VkDeviceMemoryOpaqueCaptureAddressInfo registry at -- www.khronos.org type VkDeviceMemoryOpaqueCaptureAddressInfo = VkStruct VkDeviceMemoryOpaqueCaptureAddressInfo' -- | Alias for VkDeviceMemoryOpaqueCaptureAddressInfo type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo -- |
--   typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryOverallocationBehaviorAMD overallocationBehavior;
--   } VkDeviceMemoryOverallocationCreateInfoAMD;
--   
-- -- VkDeviceMemoryOverallocationCreateInfoAMD registry at -- www.khronos.org type VkDeviceMemoryOverallocationCreateInfoAMD = VkStruct VkDeviceMemoryOverallocationCreateInfoAMD' -- |
--   typedef struct VkDevicePrivateDataCreateInfoEXT {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t                               privateDataSlotRequestCount;
--   } VkDevicePrivateDataCreateInfoEXT;
--   
-- -- VkDevicePrivateDataCreateInfoEXT registry at www.khronos.org type VkDevicePrivateDataCreateInfoEXT = VkStruct VkDevicePrivateDataCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' -- |
--   typedef struct VkExtensionProperties {
--       char            extensionName[VK_MAX_EXTENSION_NAME_SIZE];
--       uint32_t        specVersion;
--   } VkExtensionProperties;
--   
-- -- VkExtensionProperties registry at www.khronos.org type VkExtensionProperties = VkStruct VkExtensionProperties' type VkEnumerateInstanceExtensionProperties = "vkEnumerateInstanceExtensionProperties" pattern VkEnumerateInstanceExtensionProperties :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateInstanceExtensionProperties
--       ( const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceExtensionProperties registry at -- www.khronos.org type HS_vkEnumerateInstanceExtensionProperties = CString " pLayerName" -> Ptr Word32 " pPropertyCount" -> Ptr VkExtensionProperties " pProperties" -> IO VkResult type PFN_vkEnumerateInstanceExtensionProperties = FunPtr HS_vkEnumerateInstanceExtensionProperties -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateInstanceExtensionProperties
--       ( const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceExtensionProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties
--   
-- -- Note: vkEnumerateInstanceExtensionPropertiesUnsafe and -- vkEnumerateInstanceExtensionPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateInstanceExtensionProperties is an -- alias of vkEnumerateInstanceExtensionPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkEnumerateInstanceExtensionPropertiesSafe. vkEnumerateInstanceExtensionProperties :: CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateInstanceExtensionProperties
--       ( const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceExtensionProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties
--   
-- -- Note: vkEnumerateInstanceExtensionPropertiesUnsafe and -- vkEnumerateInstanceExtensionPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateInstanceExtensionProperties is an -- alias of vkEnumerateInstanceExtensionPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkEnumerateInstanceExtensionPropertiesSafe. vkEnumerateInstanceExtensionPropertiesUnsafe :: CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateInstanceExtensionProperties
--       ( const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceExtensionProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties
--   
-- -- Note: vkEnumerateInstanceExtensionPropertiesUnsafe and -- vkEnumerateInstanceExtensionPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateInstanceExtensionProperties is an -- alias of vkEnumerateInstanceExtensionPropertiesUnsafe when -- the useUnsafeFFIDefault cabal flag is enabled; otherwise, it -- is an alias of vkEnumerateInstanceExtensionPropertiesSafe. vkEnumerateInstanceExtensionPropertiesSafe :: CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult type VkEnumerateDeviceExtensionProperties = "vkEnumerateDeviceExtensionProperties" pattern VkEnumerateDeviceExtensionProperties :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateDeviceExtensionProperties
--       ( VkPhysicalDevice physicalDevice
--       , const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceExtensionProperties registry at -- www.khronos.org type HS_vkEnumerateDeviceExtensionProperties = VkPhysicalDevice " physicalDevice" -> CString " pLayerName" -> Ptr Word32 " pPropertyCount" -> Ptr VkExtensionProperties " pProperties" -> IO VkResult type PFN_vkEnumerateDeviceExtensionProperties = FunPtr HS_vkEnumerateDeviceExtensionProperties -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateDeviceExtensionProperties
--       ( VkPhysicalDevice physicalDevice
--       , const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceExtensionProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties
--   
-- -- Note: vkEnumerateDeviceExtensionPropertiesUnsafe and -- vkEnumerateDeviceExtensionPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateDeviceExtensionProperties is an -- alias of vkEnumerateDeviceExtensionPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateDeviceExtensionPropertiesSafe. vkEnumerateDeviceExtensionProperties :: VkPhysicalDevice -> CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateDeviceExtensionProperties
--       ( VkPhysicalDevice physicalDevice
--       , const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceExtensionProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties
--   
-- -- Note: vkEnumerateDeviceExtensionPropertiesUnsafe and -- vkEnumerateDeviceExtensionPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateDeviceExtensionProperties is an -- alias of vkEnumerateDeviceExtensionPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateDeviceExtensionPropertiesSafe. vkEnumerateDeviceExtensionPropertiesUnsafe :: VkPhysicalDevice -> CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_LAYER_NOT_PRESENT. -- --
--   VkResult vkEnumerateDeviceExtensionProperties
--       ( VkPhysicalDevice physicalDevice
--       , const char* pLayerName
--       , uint32_t* pPropertyCount
--       , VkExtensionProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceExtensionProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties
--   
-- -- Note: vkEnumerateDeviceExtensionPropertiesUnsafe and -- vkEnumerateDeviceExtensionPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateDeviceExtensionProperties is an -- alias of vkEnumerateDeviceExtensionPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateDeviceExtensionPropertiesSafe. vkEnumerateDeviceExtensionPropertiesSafe :: VkPhysicalDevice -> CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult -- |
--   typedef struct VkLayerProperties {
--       char            layerName[VK_MAX_EXTENSION_NAME_SIZE];
--       uint32_t        specVersion;
--       uint32_t        implementationVersion;
--       char            description[VK_MAX_DESCRIPTION_SIZE];
--   } VkLayerProperties;
--   
-- -- VkLayerProperties registry at www.khronos.org type VkLayerProperties = VkStruct VkLayerProperties' type VkEnumerateInstanceLayerProperties = "vkEnumerateInstanceLayerProperties" pattern VkEnumerateInstanceLayerProperties :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateInstanceLayerProperties
--       ( uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceLayerProperties registry at www.khronos.org type HS_vkEnumerateInstanceLayerProperties = Ptr Word32 " pPropertyCount" -> Ptr VkLayerProperties " pProperties" -> IO VkResult type PFN_vkEnumerateInstanceLayerProperties = FunPtr HS_vkEnumerateInstanceLayerProperties -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateInstanceLayerProperties
--       ( uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceLayerProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties
--   
-- -- Note: vkEnumerateInstanceLayerPropertiesUnsafe and -- vkEnumerateInstanceLayerPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateInstanceLayerProperties is an alias -- of vkEnumerateInstanceLayerPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateInstanceLayerPropertiesSafe. vkEnumerateInstanceLayerProperties :: Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateInstanceLayerProperties
--       ( uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceLayerProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties
--   
-- -- Note: vkEnumerateInstanceLayerPropertiesUnsafe and -- vkEnumerateInstanceLayerPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateInstanceLayerProperties is an alias -- of vkEnumerateInstanceLayerPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateInstanceLayerPropertiesSafe. vkEnumerateInstanceLayerPropertiesUnsafe :: Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateInstanceLayerProperties
--       ( uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateInstanceLayerProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL
--   
-- -- or less efficient: -- --
--   myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties
--   
-- -- Note: vkEnumerateInstanceLayerPropertiesUnsafe and -- vkEnumerateInstanceLayerPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkEnumerateInstanceLayerProperties is an alias -- of vkEnumerateInstanceLayerPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateInstanceLayerPropertiesSafe. vkEnumerateInstanceLayerPropertiesSafe :: Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult type VkEnumerateDeviceLayerProperties = "vkEnumerateDeviceLayerProperties" pattern VkEnumerateDeviceLayerProperties :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateDeviceLayerProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceLayerProperties registry at www.khronos.org type HS_vkEnumerateDeviceLayerProperties = VkPhysicalDevice " physicalDevice" -> Ptr Word32 " pPropertyCount" -> Ptr VkLayerProperties " pProperties" -> IO VkResult type PFN_vkEnumerateDeviceLayerProperties = FunPtr HS_vkEnumerateDeviceLayerProperties -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateDeviceLayerProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceLayerProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties
--   
-- -- Note: vkEnumerateDeviceLayerPropertiesUnsafe and -- vkEnumerateDeviceLayerPropertiesSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkEnumerateDeviceLayerProperties is an alias of -- vkEnumerateDeviceLayerPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateDeviceLayerPropertiesSafe. vkEnumerateDeviceLayerProperties :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateDeviceLayerProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceLayerProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties
--   
-- -- Note: vkEnumerateDeviceLayerPropertiesUnsafe and -- vkEnumerateDeviceLayerPropertiesSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkEnumerateDeviceLayerProperties is an alias of -- vkEnumerateDeviceLayerPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateDeviceLayerPropertiesSafe. vkEnumerateDeviceLayerPropertiesUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEnumerateDeviceLayerProperties
--       ( VkPhysicalDevice physicalDevice
--       , uint32_t* pPropertyCount
--       , VkLayerProperties* pProperties
--       )
--   
-- -- vkEnumerateDeviceLayerProperties registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance
--   
-- -- or less efficient: -- --
--   myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties
--   
-- -- Note: vkEnumerateDeviceLayerPropertiesUnsafe and -- vkEnumerateDeviceLayerPropertiesSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkEnumerateDeviceLayerProperties is an alias of -- vkEnumerateDeviceLayerPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEnumerateDeviceLayerPropertiesSafe. vkEnumerateDeviceLayerPropertiesSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult -- |
--   typedef struct VkSubmitInfo {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t       waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       const VkPipelineStageFlags*           pWaitDstStageMask;
--       uint32_t       commandBufferCount;
--       const VkCommandBuffer*     pCommandBuffers;
--       uint32_t       signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkSubmitInfo;
--   
-- -- VkSubmitInfo registry at www.khronos.org type VkSubmitInfo = VkStruct VkSubmitInfo' type VkGetDeviceQueue = "vkGetDeviceQueue" pattern VkGetDeviceQueue :: CString -- |
--   void vkGetDeviceQueue
--       ( VkDevice device
--       , uint32_t queueFamilyIndex
--       , uint32_t queueIndex
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue registry at www.khronos.org type HS_vkGetDeviceQueue = VkDevice " device" -> Word32 " queueFamilyIndex" -> Word32 " queueIndex" -> Ptr VkQueue " pQueue" -> IO () type PFN_vkGetDeviceQueue = FunPtr HS_vkGetDeviceQueue -- |
--   void vkGetDeviceQueue
--       ( VkDevice device
--       , uint32_t queueFamilyIndex
--       , uint32_t queueIndex
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue
--   
-- -- Note: vkGetDeviceQueueUnsafe and -- vkGetDeviceQueueSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceQueue is an alias of -- vkGetDeviceQueueUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetDeviceQueueSafe. vkGetDeviceQueue :: VkDevice -> Word32 -> Word32 -> Ptr VkQueue -> IO () -- |
--   void vkGetDeviceQueue
--       ( VkDevice device
--       , uint32_t queueFamilyIndex
--       , uint32_t queueIndex
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue
--   
-- -- Note: vkGetDeviceQueueUnsafe and -- vkGetDeviceQueueSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceQueue is an alias of -- vkGetDeviceQueueUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetDeviceQueueSafe. vkGetDeviceQueueUnsafe :: VkDevice -> Word32 -> Word32 -> Ptr VkQueue -> IO () -- |
--   void vkGetDeviceQueue
--       ( VkDevice device
--       , uint32_t queueFamilyIndex
--       , uint32_t queueIndex
--       , VkQueue* pQueue
--       )
--   
-- -- vkGetDeviceQueue registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue
--   
-- -- Note: vkGetDeviceQueueUnsafe and -- vkGetDeviceQueueSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceQueue is an alias of -- vkGetDeviceQueueUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetDeviceQueueSafe. vkGetDeviceQueueSafe :: VkDevice -> Word32 -> Word32 -> Ptr VkQueue -> IO () type VkQueueSubmit = "vkQueueSubmit" pattern VkQueueSubmit :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueSubmit
--       ( VkQueue queue
--       , uint32_t submitCount
--       , const VkSubmitInfo* pSubmits
--       , VkFence fence
--       )
--   
-- -- vkQueueSubmit registry at www.khronos.org type HS_vkQueueSubmit = VkQueue " queue" -> Word32 " submitCount" -> Ptr VkSubmitInfo " pSubmits" -> VkFence " fence" -> IO VkResult type PFN_vkQueueSubmit = FunPtr HS_vkQueueSubmit -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueSubmit
--       ( VkQueue queue
--       , uint32_t submitCount
--       , const VkSubmitInfo* pSubmits
--       , VkFence fence
--       )
--   
-- -- vkQueueSubmit registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance
--   
-- -- or less efficient: -- --
--   myQueueSubmit <- vkGetProc @VkQueueSubmit
--   
-- -- Note: vkQueueSubmitUnsafe and -- vkQueueSubmitSafe are the unsafe and safe -- FFI imports of this function, respectively. vkQueueSubmit is -- an alias of vkQueueSubmitUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkQueueSubmitSafe. vkQueueSubmit :: VkQueue -> Word32 -> Ptr VkSubmitInfo -> VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueSubmit
--       ( VkQueue queue
--       , uint32_t submitCount
--       , const VkSubmitInfo* pSubmits
--       , VkFence fence
--       )
--   
-- -- vkQueueSubmit registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance
--   
-- -- or less efficient: -- --
--   myQueueSubmit <- vkGetProc @VkQueueSubmit
--   
-- -- Note: vkQueueSubmitUnsafe and -- vkQueueSubmitSafe are the unsafe and safe -- FFI imports of this function, respectively. vkQueueSubmit is -- an alias of vkQueueSubmitUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkQueueSubmitSafe. vkQueueSubmitUnsafe :: VkQueue -> Word32 -> Ptr VkSubmitInfo -> VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueSubmit
--       ( VkQueue queue
--       , uint32_t submitCount
--       , const VkSubmitInfo* pSubmits
--       , VkFence fence
--       )
--   
-- -- vkQueueSubmit registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance
--   
-- -- or less efficient: -- --
--   myQueueSubmit <- vkGetProc @VkQueueSubmit
--   
-- -- Note: vkQueueSubmitUnsafe and -- vkQueueSubmitSafe are the unsafe and safe -- FFI imports of this function, respectively. vkQueueSubmit is -- an alias of vkQueueSubmitUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkQueueSubmitSafe. vkQueueSubmitSafe :: VkQueue -> Word32 -> Ptr VkSubmitInfo -> VkFence -> IO VkResult type VkQueueWaitIdle = "vkQueueWaitIdle" pattern VkQueueWaitIdle :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueWaitIdle
--       ( VkQueue queue
--       )
--   
-- -- vkQueueWaitIdle registry at www.khronos.org type HS_vkQueueWaitIdle = VkQueue " queue" -> IO VkResult type PFN_vkQueueWaitIdle = FunPtr HS_vkQueueWaitIdle -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueWaitIdle
--       ( VkQueue queue
--       )
--   
-- -- vkQueueWaitIdle registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance
--   
-- -- or less efficient: -- --
--   myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle
--   
-- -- Note: vkQueueWaitIdleUnsafe and -- vkQueueWaitIdleSafe are the unsafe and safe -- FFI imports of this function, respectively. vkQueueWaitIdle -- is an alias of vkQueueWaitIdleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkQueueWaitIdleSafe. vkQueueWaitIdle :: VkQueue -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueWaitIdle
--       ( VkQueue queue
--       )
--   
-- -- vkQueueWaitIdle registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance
--   
-- -- or less efficient: -- --
--   myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle
--   
-- -- Note: vkQueueWaitIdleUnsafe and -- vkQueueWaitIdleSafe are the unsafe and safe -- FFI imports of this function, respectively. vkQueueWaitIdle -- is an alias of vkQueueWaitIdleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkQueueWaitIdleSafe. vkQueueWaitIdleUnsafe :: VkQueue -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkQueueWaitIdle
--       ( VkQueue queue
--       )
--   
-- -- vkQueueWaitIdle registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance
--   
-- -- or less efficient: -- --
--   myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle
--   
-- -- Note: vkQueueWaitIdleUnsafe and -- vkQueueWaitIdleSafe are the unsafe and safe -- FFI imports of this function, respectively. vkQueueWaitIdle -- is an alias of vkQueueWaitIdleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkQueueWaitIdleSafe. vkQueueWaitIdleSafe :: VkQueue -> IO VkResult type VkDeviceWaitIdle = "vkDeviceWaitIdle" pattern VkDeviceWaitIdle :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkDeviceWaitIdle
--       ( VkDevice device
--       )
--   
-- -- vkDeviceWaitIdle registry at www.khronos.org type HS_vkDeviceWaitIdle = VkDevice " device" -> IO VkResult type PFN_vkDeviceWaitIdle = FunPtr HS_vkDeviceWaitIdle -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkDeviceWaitIdle
--       ( VkDevice device
--       )
--   
-- -- vkDeviceWaitIdle registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice
--   
-- -- or less efficient: -- --
--   myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle
--   
-- -- Note: vkDeviceWaitIdleUnsafe and -- vkDeviceWaitIdleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDeviceWaitIdle is an alias of -- vkDeviceWaitIdleUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDeviceWaitIdleSafe. vkDeviceWaitIdle :: VkDevice -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkDeviceWaitIdle
--       ( VkDevice device
--       )
--   
-- -- vkDeviceWaitIdle registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice
--   
-- -- or less efficient: -- --
--   myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle
--   
-- -- Note: vkDeviceWaitIdleUnsafe and -- vkDeviceWaitIdleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDeviceWaitIdle is an alias of -- vkDeviceWaitIdleUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDeviceWaitIdleSafe. vkDeviceWaitIdleUnsafe :: VkDevice -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkDeviceWaitIdle
--       ( VkDevice device
--       )
--   
-- -- vkDeviceWaitIdle registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice
--   
-- -- or less efficient: -- --
--   myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle
--   
-- -- Note: vkDeviceWaitIdleUnsafe and -- vkDeviceWaitIdleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDeviceWaitIdle is an alias of -- vkDeviceWaitIdleUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDeviceWaitIdleSafe. vkDeviceWaitIdleSafe :: VkDevice -> IO VkResult -- |
--   typedef struct VkMappedMemoryRange {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceMemory         memory;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkMappedMemoryRange;
--   
-- -- VkMappedMemoryRange registry at www.khronos.org type VkMappedMemoryRange = VkStruct VkMappedMemoryRange' type VkAllocateMemory = "vkAllocateMemory" pattern VkAllocateMemory :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkAllocateMemory
--       ( VkDevice device
--       , const VkMemoryAllocateInfo* pAllocateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDeviceMemory* pMemory
--       )
--   
-- -- vkAllocateMemory registry at www.khronos.org type HS_vkAllocateMemory = VkDevice " device" -> Ptr VkMemoryAllocateInfo " pAllocateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDeviceMemory " pMemory" -> IO VkResult type PFN_vkAllocateMemory = FunPtr HS_vkAllocateMemory -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkAllocateMemory
--       ( VkDevice device
--       , const VkMemoryAllocateInfo* pAllocateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDeviceMemory* pMemory
--       )
--   
-- -- vkAllocateMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateMemory <- vkGetProc @VkAllocateMemory
--   
-- -- Note: vkAllocateMemoryUnsafe and -- vkAllocateMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateMemory is an alias of -- vkAllocateMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkAllocateMemorySafe. vkAllocateMemory :: VkDevice -> Ptr VkMemoryAllocateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDeviceMemory -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkAllocateMemory
--       ( VkDevice device
--       , const VkMemoryAllocateInfo* pAllocateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDeviceMemory* pMemory
--       )
--   
-- -- vkAllocateMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateMemory <- vkGetProc @VkAllocateMemory
--   
-- -- Note: vkAllocateMemoryUnsafe and -- vkAllocateMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateMemory is an alias of -- vkAllocateMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkAllocateMemorySafe. vkAllocateMemoryUnsafe :: VkDevice -> Ptr VkMemoryAllocateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDeviceMemory -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_EXTERNAL_HANDLE, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkAllocateMemory
--       ( VkDevice device
--       , const VkMemoryAllocateInfo* pAllocateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDeviceMemory* pMemory
--       )
--   
-- -- vkAllocateMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateMemory <- vkGetProc @VkAllocateMemory
--   
-- -- Note: vkAllocateMemoryUnsafe and -- vkAllocateMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateMemory is an alias of -- vkAllocateMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkAllocateMemorySafe. vkAllocateMemorySafe :: VkDevice -> Ptr VkMemoryAllocateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDeviceMemory -> IO VkResult type VkFreeMemory = "vkFreeMemory" pattern VkFreeMemory :: CString -- |
--   void vkFreeMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkFreeMemory registry at www.khronos.org type HS_vkFreeMemory = VkDevice " device" -> VkDeviceMemory " memory" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkFreeMemory = FunPtr HS_vkFreeMemory -- |
--   void vkFreeMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkFreeMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice
--   
-- -- or less efficient: -- --
--   myFreeMemory <- vkGetProc @VkFreeMemory
--   
-- -- Note: vkFreeMemoryUnsafe and vkFreeMemorySafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkFreeMemory is an alias of -- vkFreeMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkFreeMemorySafe. vkFreeMemory :: VkDevice -> VkDeviceMemory -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkFreeMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkFreeMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice
--   
-- -- or less efficient: -- --
--   myFreeMemory <- vkGetProc @VkFreeMemory
--   
-- -- Note: vkFreeMemoryUnsafe and vkFreeMemorySafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkFreeMemory is an alias of -- vkFreeMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkFreeMemorySafe. vkFreeMemoryUnsafe :: VkDevice -> VkDeviceMemory -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkFreeMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkFreeMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice
--   
-- -- or less efficient: -- --
--   myFreeMemory <- vkGetProc @VkFreeMemory
--   
-- -- Note: vkFreeMemoryUnsafe and vkFreeMemorySafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkFreeMemory is an alias of -- vkFreeMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkFreeMemorySafe. vkFreeMemorySafe :: VkDevice -> VkDeviceMemory -> Ptr VkAllocationCallbacks -> IO () type VkMapMemory = "vkMapMemory" pattern VkMapMemory :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_MEMORY_MAP_FAILED. -- --
--   VkResult vkMapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize offset
--       , VkDeviceSize size
--       , VkMemoryMapFlags flags
--       , void** ppData
--       )
--   
-- -- vkMapMemory registry at www.khronos.org type HS_vkMapMemory = VkDevice " device" -> VkDeviceMemory " memory" -> VkDeviceSize " offset" -> VkDeviceSize " size" -> VkMemoryMapFlags " flags" -> Ptr (Ptr Void) " ppData" -> IO VkResult type PFN_vkMapMemory = FunPtr HS_vkMapMemory -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_MEMORY_MAP_FAILED. -- --
--   VkResult vkMapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize offset
--       , VkDeviceSize size
--       , VkMemoryMapFlags flags
--       , void** ppData
--       )
--   
-- -- vkMapMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice
--   
-- -- or less efficient: -- --
--   myMapMemory <- vkGetProc @VkMapMemory
--   
-- -- Note: vkMapMemoryUnsafe and vkMapMemorySafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkMapMemory is an alias of -- vkMapMemoryUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of -- vkMapMemorySafe. vkMapMemory :: VkDevice -> VkDeviceMemory -> VkDeviceSize -> VkDeviceSize -> VkMemoryMapFlags -> Ptr (Ptr Void) -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_MEMORY_MAP_FAILED. -- --
--   VkResult vkMapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize offset
--       , VkDeviceSize size
--       , VkMemoryMapFlags flags
--       , void** ppData
--       )
--   
-- -- vkMapMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice
--   
-- -- or less efficient: -- --
--   myMapMemory <- vkGetProc @VkMapMemory
--   
-- -- Note: vkMapMemoryUnsafe and vkMapMemorySafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkMapMemory is an alias of -- vkMapMemoryUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of -- vkMapMemorySafe. vkMapMemoryUnsafe :: VkDevice -> VkDeviceMemory -> VkDeviceSize -> VkDeviceSize -> VkMemoryMapFlags -> Ptr (Ptr Void) -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_MEMORY_MAP_FAILED. -- --
--   VkResult vkMapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize offset
--       , VkDeviceSize size
--       , VkMemoryMapFlags flags
--       , void** ppData
--       )
--   
-- -- vkMapMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice
--   
-- -- or less efficient: -- --
--   myMapMemory <- vkGetProc @VkMapMemory
--   
-- -- Note: vkMapMemoryUnsafe and vkMapMemorySafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkMapMemory is an alias of -- vkMapMemoryUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of -- vkMapMemorySafe. vkMapMemorySafe :: VkDevice -> VkDeviceMemory -> VkDeviceSize -> VkDeviceSize -> VkMemoryMapFlags -> Ptr (Ptr Void) -> IO VkResult type VkUnmapMemory = "vkUnmapMemory" pattern VkUnmapMemory :: CString -- |
--   void vkUnmapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       )
--   
-- -- vkUnmapMemory registry at www.khronos.org type HS_vkUnmapMemory = VkDevice " device" -> VkDeviceMemory " memory" -> IO () type PFN_vkUnmapMemory = FunPtr HS_vkUnmapMemory -- |
--   void vkUnmapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       )
--   
-- -- vkUnmapMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice
--   
-- -- or less efficient: -- --
--   myUnmapMemory <- vkGetProc @VkUnmapMemory
--   
-- -- Note: vkUnmapMemoryUnsafe and -- vkUnmapMemorySafe are the unsafe and safe -- FFI imports of this function, respectively. vkUnmapMemory is -- an alias of vkUnmapMemoryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUnmapMemorySafe. vkUnmapMemory :: VkDevice -> VkDeviceMemory -> IO () -- |
--   void vkUnmapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       )
--   
-- -- vkUnmapMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice
--   
-- -- or less efficient: -- --
--   myUnmapMemory <- vkGetProc @VkUnmapMemory
--   
-- -- Note: vkUnmapMemoryUnsafe and -- vkUnmapMemorySafe are the unsafe and safe -- FFI imports of this function, respectively. vkUnmapMemory is -- an alias of vkUnmapMemoryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUnmapMemorySafe. vkUnmapMemoryUnsafe :: VkDevice -> VkDeviceMemory -> IO () -- |
--   void vkUnmapMemory
--       ( VkDevice device
--       , VkDeviceMemory memory
--       )
--   
-- -- vkUnmapMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice
--   
-- -- or less efficient: -- --
--   myUnmapMemory <- vkGetProc @VkUnmapMemory
--   
-- -- Note: vkUnmapMemoryUnsafe and -- vkUnmapMemorySafe are the unsafe and safe -- FFI imports of this function, respectively. vkUnmapMemory is -- an alias of vkUnmapMemoryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUnmapMemorySafe. vkUnmapMemorySafe :: VkDevice -> VkDeviceMemory -> IO () type VkFlushMappedMemoryRanges = "vkFlushMappedMemoryRanges" pattern VkFlushMappedMemoryRanges :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkFlushMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkFlushMappedMemoryRanges registry at www.khronos.org type HS_vkFlushMappedMemoryRanges = VkDevice " device" -> Word32 " memoryRangeCount" -> Ptr VkMappedMemoryRange " pMemoryRanges" -> IO VkResult type PFN_vkFlushMappedMemoryRanges = FunPtr HS_vkFlushMappedMemoryRanges -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkFlushMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkFlushMappedMemoryRanges registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice
--   
-- -- or less efficient: -- --
--   myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges
--   
-- -- Note: vkFlushMappedMemoryRangesUnsafe and -- vkFlushMappedMemoryRangesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFlushMappedMemoryRanges is an alias of -- vkFlushMappedMemoryRangesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFlushMappedMemoryRangesSafe. vkFlushMappedMemoryRanges :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkFlushMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkFlushMappedMemoryRanges registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice
--   
-- -- or less efficient: -- --
--   myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges
--   
-- -- Note: vkFlushMappedMemoryRangesUnsafe and -- vkFlushMappedMemoryRangesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFlushMappedMemoryRanges is an alias of -- vkFlushMappedMemoryRangesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFlushMappedMemoryRangesSafe. vkFlushMappedMemoryRangesUnsafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkFlushMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkFlushMappedMemoryRanges registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice
--   
-- -- or less efficient: -- --
--   myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges
--   
-- -- Note: vkFlushMappedMemoryRangesUnsafe and -- vkFlushMappedMemoryRangesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFlushMappedMemoryRanges is an alias of -- vkFlushMappedMemoryRangesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFlushMappedMemoryRangesSafe. vkFlushMappedMemoryRangesSafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult type VkInvalidateMappedMemoryRanges = "vkInvalidateMappedMemoryRanges" pattern VkInvalidateMappedMemoryRanges :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkInvalidateMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkInvalidateMappedMemoryRanges registry at www.khronos.org type HS_vkInvalidateMappedMemoryRanges = VkDevice " device" -> Word32 " memoryRangeCount" -> Ptr VkMappedMemoryRange " pMemoryRanges" -> IO VkResult type PFN_vkInvalidateMappedMemoryRanges = FunPtr HS_vkInvalidateMappedMemoryRanges -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkInvalidateMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkInvalidateMappedMemoryRanges registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice
--   
-- -- or less efficient: -- --
--   myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges
--   
-- -- Note: vkInvalidateMappedMemoryRangesUnsafe and -- vkInvalidateMappedMemoryRangesSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkInvalidateMappedMemoryRanges is an alias of -- vkInvalidateMappedMemoryRangesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkInvalidateMappedMemoryRangesSafe. vkInvalidateMappedMemoryRanges :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkInvalidateMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkInvalidateMappedMemoryRanges registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice
--   
-- -- or less efficient: -- --
--   myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges
--   
-- -- Note: vkInvalidateMappedMemoryRangesUnsafe and -- vkInvalidateMappedMemoryRangesSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkInvalidateMappedMemoryRanges is an alias of -- vkInvalidateMappedMemoryRangesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkInvalidateMappedMemoryRangesSafe. vkInvalidateMappedMemoryRangesUnsafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkInvalidateMappedMemoryRanges
--       ( VkDevice device
--       , uint32_t memoryRangeCount
--       , const VkMappedMemoryRange* pMemoryRanges
--       )
--   
-- -- vkInvalidateMappedMemoryRanges registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice
--   
-- -- or less efficient: -- --
--   myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges
--   
-- -- Note: vkInvalidateMappedMemoryRangesUnsafe and -- vkInvalidateMappedMemoryRangesSafe are the unsafe -- and safe FFI imports of this function, respectively. -- vkInvalidateMappedMemoryRanges is an alias of -- vkInvalidateMappedMemoryRangesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkInvalidateMappedMemoryRangesSafe. vkInvalidateMappedMemoryRangesSafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult type VkGetDeviceMemoryCommitment = "vkGetDeviceMemoryCommitment" pattern VkGetDeviceMemoryCommitment :: CString -- |
--   void vkGetDeviceMemoryCommitment
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize* pCommittedMemoryInBytes
--       )
--   
-- -- vkGetDeviceMemoryCommitment registry at www.khronos.org type HS_vkGetDeviceMemoryCommitment = VkDevice " device" -> VkDeviceMemory " memory" -> Ptr VkDeviceSize " pCommittedMemoryInBytes" -> IO () type PFN_vkGetDeviceMemoryCommitment = FunPtr HS_vkGetDeviceMemoryCommitment -- |
--   void vkGetDeviceMemoryCommitment
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize* pCommittedMemoryInBytes
--       )
--   
-- -- vkGetDeviceMemoryCommitment registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment
--   
-- -- Note: vkGetDeviceMemoryCommitmentUnsafe and -- vkGetDeviceMemoryCommitmentSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceMemoryCommitment is an alias of -- vkGetDeviceMemoryCommitmentUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceMemoryCommitmentSafe. vkGetDeviceMemoryCommitment :: VkDevice -> VkDeviceMemory -> Ptr VkDeviceSize -> IO () -- |
--   void vkGetDeviceMemoryCommitment
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize* pCommittedMemoryInBytes
--       )
--   
-- -- vkGetDeviceMemoryCommitment registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment
--   
-- -- Note: vkGetDeviceMemoryCommitmentUnsafe and -- vkGetDeviceMemoryCommitmentSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceMemoryCommitment is an alias of -- vkGetDeviceMemoryCommitmentUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceMemoryCommitmentSafe. vkGetDeviceMemoryCommitmentUnsafe :: VkDevice -> VkDeviceMemory -> Ptr VkDeviceSize -> IO () -- |
--   void vkGetDeviceMemoryCommitment
--       ( VkDevice device
--       , VkDeviceMemory memory
--       , VkDeviceSize* pCommittedMemoryInBytes
--       )
--   
-- -- vkGetDeviceMemoryCommitment registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice
--   
-- -- or less efficient: -- --
--   myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment
--   
-- -- Note: vkGetDeviceMemoryCommitmentUnsafe and -- vkGetDeviceMemoryCommitmentSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetDeviceMemoryCommitment is an alias of -- vkGetDeviceMemoryCommitmentUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetDeviceMemoryCommitmentSafe. vkGetDeviceMemoryCommitmentSafe :: VkDevice -> VkDeviceMemory -> Ptr VkDeviceSize -> IO () type VkBindBufferMemory = "vkBindBufferMemory" pattern VkBindBufferMemory :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindBufferMemory registry at www.khronos.org type HS_vkBindBufferMemory = VkDevice " device" -> VkBuffer " buffer" -> VkDeviceMemory " memory" -> VkDeviceSize " memoryOffset" -> IO VkResult type PFN_vkBindBufferMemory = FunPtr HS_vkBindBufferMemory -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindBufferMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice
--   
-- -- or less efficient: -- --
--   myBindBufferMemory <- vkGetProc @VkBindBufferMemory
--   
-- -- Note: vkBindBufferMemoryUnsafe and -- vkBindBufferMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindBufferMemory is an alias of -- vkBindBufferMemoryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindBufferMemorySafe. vkBindBufferMemory :: VkDevice -> VkBuffer -> VkDeviceMemory -> VkDeviceSize -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindBufferMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice
--   
-- -- or less efficient: -- --
--   myBindBufferMemory <- vkGetProc @VkBindBufferMemory
--   
-- -- Note: vkBindBufferMemoryUnsafe and -- vkBindBufferMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindBufferMemory is an alias of -- vkBindBufferMemoryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindBufferMemorySafe. vkBindBufferMemoryUnsafe :: VkDevice -> VkBuffer -> VkDeviceMemory -> VkDeviceSize -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkBindBufferMemory
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindBufferMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice
--   
-- -- or less efficient: -- --
--   myBindBufferMemory <- vkGetProc @VkBindBufferMemory
--   
-- -- Note: vkBindBufferMemoryUnsafe and -- vkBindBufferMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindBufferMemory is an alias of -- vkBindBufferMemoryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBindBufferMemorySafe. vkBindBufferMemorySafe :: VkDevice -> VkBuffer -> VkDeviceMemory -> VkDeviceSize -> IO VkResult type VkBindImageMemory = "vkBindImageMemory" pattern VkBindImageMemory :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory
--       ( VkDevice device
--       , VkImage image
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindImageMemory registry at www.khronos.org type HS_vkBindImageMemory = VkDevice " device" -> VkImage " image" -> VkDeviceMemory " memory" -> VkDeviceSize " memoryOffset" -> IO VkResult type PFN_vkBindImageMemory = FunPtr HS_vkBindImageMemory -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory
--       ( VkDevice device
--       , VkImage image
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindImageMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice
--   
-- -- or less efficient: -- --
--   myBindImageMemory <- vkGetProc @VkBindImageMemory
--   
-- -- Note: vkBindImageMemoryUnsafe and -- vkBindImageMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindImageMemory is an alias of -- vkBindImageMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkBindImageMemorySafe. vkBindImageMemory :: VkDevice -> VkImage -> VkDeviceMemory -> VkDeviceSize -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory
--       ( VkDevice device
--       , VkImage image
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindImageMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice
--   
-- -- or less efficient: -- --
--   myBindImageMemory <- vkGetProc @VkBindImageMemory
--   
-- -- Note: vkBindImageMemoryUnsafe and -- vkBindImageMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindImageMemory is an alias of -- vkBindImageMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkBindImageMemorySafe. vkBindImageMemoryUnsafe :: VkDevice -> VkImage -> VkDeviceMemory -> VkDeviceSize -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindImageMemory
--       ( VkDevice device
--       , VkImage image
--       , VkDeviceMemory memory
--       , VkDeviceSize memoryOffset
--       )
--   
-- -- vkBindImageMemory registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice
--   
-- -- or less efficient: -- --
--   myBindImageMemory <- vkGetProc @VkBindImageMemory
--   
-- -- Note: vkBindImageMemoryUnsafe and -- vkBindImageMemorySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBindImageMemory is an alias of -- vkBindImageMemoryUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkBindImageMemorySafe. vkBindImageMemorySafe :: VkDevice -> VkImage -> VkDeviceMemory -> VkDeviceSize -> IO VkResult type VkGetBufferMemoryRequirements = "vkGetBufferMemoryRequirements" pattern VkGetBufferMemoryRequirements :: CString -- |
--   void vkGetBufferMemoryRequirements
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements registry at www.khronos.org type HS_vkGetBufferMemoryRequirements = VkDevice " device" -> VkBuffer " buffer" -> Ptr VkMemoryRequirements " pMemoryRequirements" -> IO () type PFN_vkGetBufferMemoryRequirements = FunPtr HS_vkGetBufferMemoryRequirements -- |
--   void vkGetBufferMemoryRequirements
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements
--   
-- -- Note: vkGetBufferMemoryRequirementsUnsafe and -- vkGetBufferMemoryRequirementsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetBufferMemoryRequirements is an alias of -- vkGetBufferMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferMemoryRequirementsSafe. vkGetBufferMemoryRequirements :: VkDevice -> VkBuffer -> Ptr VkMemoryRequirements -> IO () -- |
--   void vkGetBufferMemoryRequirements
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements
--   
-- -- Note: vkGetBufferMemoryRequirementsUnsafe and -- vkGetBufferMemoryRequirementsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetBufferMemoryRequirements is an alias of -- vkGetBufferMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferMemoryRequirementsSafe. vkGetBufferMemoryRequirementsUnsafe :: VkDevice -> VkBuffer -> Ptr VkMemoryRequirements -> IO () -- |
--   void vkGetBufferMemoryRequirements
--       ( VkDevice device
--       , VkBuffer buffer
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetBufferMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements
--   
-- -- Note: vkGetBufferMemoryRequirementsUnsafe and -- vkGetBufferMemoryRequirementsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetBufferMemoryRequirements is an alias of -- vkGetBufferMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetBufferMemoryRequirementsSafe. vkGetBufferMemoryRequirementsSafe :: VkDevice -> VkBuffer -> Ptr VkMemoryRequirements -> IO () type VkGetImageMemoryRequirements = "vkGetImageMemoryRequirements" pattern VkGetImageMemoryRequirements :: CString -- |
--   void vkGetImageMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements registry at www.khronos.org type HS_vkGetImageMemoryRequirements = VkDevice " device" -> VkImage " image" -> Ptr VkMemoryRequirements " pMemoryRequirements" -> IO () type PFN_vkGetImageMemoryRequirements = FunPtr HS_vkGetImageMemoryRequirements -- |
--   void vkGetImageMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements
--   
-- -- Note: vkGetImageMemoryRequirementsUnsafe and -- vkGetImageMemoryRequirementsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageMemoryRequirements is an alias of -- vkGetImageMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageMemoryRequirementsSafe. vkGetImageMemoryRequirements :: VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO () -- |
--   void vkGetImageMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements
--   
-- -- Note: vkGetImageMemoryRequirementsUnsafe and -- vkGetImageMemoryRequirementsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageMemoryRequirements is an alias of -- vkGetImageMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageMemoryRequirementsSafe. vkGetImageMemoryRequirementsUnsafe :: VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO () -- |
--   void vkGetImageMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , VkMemoryRequirements* pMemoryRequirements
--       )
--   
-- -- vkGetImageMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements
--   
-- -- Note: vkGetImageMemoryRequirementsUnsafe and -- vkGetImageMemoryRequirementsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageMemoryRequirements is an alias of -- vkGetImageMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageMemoryRequirementsSafe. vkGetImageMemoryRequirementsSafe :: VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO () -- |
--   typedef struct VkBindSparseInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               waitSemaphoreCount;
--       const VkSemaphore*     pWaitSemaphores;
--       uint32_t               bufferBindCount;
--       const VkSparseBufferMemoryBindInfo* pBufferBinds;
--       uint32_t               imageOpaqueBindCount;
--       const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
--       uint32_t               imageBindCount;
--       const VkSparseImageMemoryBindInfo* pImageBinds;
--       uint32_t               signalSemaphoreCount;
--       const VkSemaphore*     pSignalSemaphores;
--   } VkBindSparseInfo;
--   
-- -- VkBindSparseInfo registry at www.khronos.org type VkBindSparseInfo = VkStruct VkBindSparseInfo' -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org type VkSparseBufferMemoryBindInfo = VkStruct VkSparseBufferMemoryBindInfo' newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask (a :: FlagType) pattern VkSparseImageFormatFlagBits :: VkFlags -> VkSparseImageFormatBitmask FlagBit pattern VkSparseImageFormatFlags :: VkFlags -> VkSparseImageFormatBitmask FlagMask -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT :: VkSparseImageFormatBitmask a -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT :: VkSparseImageFormatBitmask a -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT :: VkSparseImageFormatBitmask a newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask (a :: FlagType) pattern VkSparseMemoryBindFlagBits :: VkFlags -> VkSparseMemoryBindBitmask FlagBit pattern VkSparseMemoryBindFlags :: VkFlags -> VkSparseMemoryBindBitmask FlagMask -- | Operation binds resource metadata to memory -- -- bitpos = 0 pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT :: VkSparseMemoryBindBitmask a type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org type VkSparseImageFormatProperties = VkStruct VkSparseImageFormatProperties' -- |
--   typedef struct VkSparseImageMemoryBind {
--       VkImageSubresource     subresource;
--       VkOffset3D             offset;
--       VkExtent3D             extent;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseImageMemoryBind;
--   
-- -- VkSparseImageMemoryBind registry at www.khronos.org type VkSparseImageMemoryBind = VkStruct VkSparseImageMemoryBind' -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org type VkSparseImageMemoryBindInfo = VkStruct VkSparseImageMemoryBindInfo' -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org type VkSparseImageMemoryRequirements = VkStruct VkSparseImageMemoryRequirements' -- |
--   typedef struct VkSparseImageOpaqueMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseImageOpaqueMemoryBindInfo;
--   
-- -- VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org type VkSparseImageOpaqueMemoryBindInfo = VkStruct VkSparseImageOpaqueMemoryBindInfo' -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org type VkSparseMemoryBind = VkStruct VkSparseMemoryBind' type VkGetImageSparseMemoryRequirements = "vkGetImageSparseMemoryRequirements" pattern VkGetImageSparseMemoryRequirements :: CString -- |
--   void vkGetImageSparseMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements registry at www.khronos.org type HS_vkGetImageSparseMemoryRequirements = VkDevice " device" -> VkImage " image" -> Ptr Word32 " pSparseMemoryRequirementCount" -> Ptr VkSparseImageMemoryRequirements " pSparseMemoryRequirements" -> IO () type PFN_vkGetImageSparseMemoryRequirements = FunPtr HS_vkGetImageSparseMemoryRequirements -- |
--   void vkGetImageSparseMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements
--   
-- -- Note: vkGetImageSparseMemoryRequirementsUnsafe and -- vkGetImageSparseMemoryRequirementsSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetImageSparseMemoryRequirements is an alias -- of vkGetImageSparseMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSparseMemoryRequirementsSafe. vkGetImageSparseMemoryRequirements :: VkDevice -> VkImage -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements -> IO () -- |
--   void vkGetImageSparseMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements
--   
-- -- Note: vkGetImageSparseMemoryRequirementsUnsafe and -- vkGetImageSparseMemoryRequirementsSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetImageSparseMemoryRequirements is an alias -- of vkGetImageSparseMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSparseMemoryRequirementsSafe. vkGetImageSparseMemoryRequirementsUnsafe :: VkDevice -> VkImage -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements -> IO () -- |
--   void vkGetImageSparseMemoryRequirements
--       ( VkDevice device
--       , VkImage image
--       , uint32_t* pSparseMemoryRequirementCount
--       , VkSparseImageMemoryRequirements* pSparseMemoryRequirements
--       )
--   
-- -- vkGetImageSparseMemoryRequirements registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements
--   
-- -- Note: vkGetImageSparseMemoryRequirementsUnsafe and -- vkGetImageSparseMemoryRequirementsSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetImageSparseMemoryRequirements is an alias -- of vkGetImageSparseMemoryRequirementsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSparseMemoryRequirementsSafe. vkGetImageSparseMemoryRequirementsSafe :: VkDevice -> VkImage -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements -> IO () type VkGetPhysicalDeviceSparseImageFormatProperties = "vkGetPhysicalDeviceSparseImageFormatProperties" pattern VkGetPhysicalDeviceSparseImageFormatProperties :: CString -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkSampleCountFlagBits samples
--       , VkImageUsageFlags usage
--       , VkImageTiling tiling
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties registry at -- www.khronos.org type HS_vkGetPhysicalDeviceSparseImageFormatProperties = VkPhysicalDevice " physicalDevice" -> VkFormat " format" -> VkImageType " type" -> VkSampleCountFlagBits " samples" -> VkImageUsageFlags " usage" -> VkImageTiling " tiling" -> Ptr Word32 " pPropertyCount" -> Ptr VkSparseImageFormatProperties " pProperties" -> IO () type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkSampleCountFlagBits samples
--       , VkImageUsageFlags usage
--       , VkImageTiling tiling
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties
--   
-- -- Note: -- vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe and -- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSparseImageFormatProperties -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of -- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe. vkGetPhysicalDeviceSparseImageFormatProperties :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkSampleCountFlagBits -> VkImageUsageFlags -> VkImageTiling -> Ptr Word32 -> Ptr VkSparseImageFormatProperties -> IO () -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkSampleCountFlagBits samples
--       , VkImageUsageFlags usage
--       , VkImageTiling tiling
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties
--   
-- -- Note: -- vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe and -- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSparseImageFormatProperties -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of -- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe. vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkSampleCountFlagBits -> VkImageUsageFlags -> VkImageTiling -> Ptr Word32 -> Ptr VkSparseImageFormatProperties -> IO () -- |
--   void vkGetPhysicalDeviceSparseImageFormatProperties
--       ( VkPhysicalDevice physicalDevice
--       , VkFormat format
--       , VkImageType type
--       , VkSampleCountFlagBits samples
--       , VkImageUsageFlags usage
--       , VkImageTiling tiling
--       , uint32_t* pPropertyCount
--       , VkSparseImageFormatProperties* pProperties
--       )
--   
-- -- vkGetPhysicalDeviceSparseImageFormatProperties registry at -- www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance
--   
-- -- or less efficient: -- --
--   myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties
--   
-- -- Note: -- vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe and -- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe are the -- unsafe and safe FFI imports of this function, -- respectively. vkGetPhysicalDeviceSparseImageFormatProperties -- is an alias of -- vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of -- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe. vkGetPhysicalDeviceSparseImageFormatPropertiesSafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkSampleCountFlagBits -> VkImageUsageFlags -> VkImageTiling -> Ptr Word32 -> Ptr VkSparseImageFormatProperties -> IO () type VkQueueBindSparse = "vkQueueBindSparse" pattern VkQueueBindSparse :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- -- Queues: sparse_binding. -- --
--   VkResult vkQueueBindSparse
--       ( VkQueue queue
--       , uint32_t bindInfoCount
--       , const VkBindSparseInfo* pBindInfo
--       , VkFence fence
--       )
--   
-- -- vkQueueBindSparse registry at www.khronos.org type HS_vkQueueBindSparse = VkQueue " queue" -> Word32 " bindInfoCount" -> Ptr VkBindSparseInfo " pBindInfo" -> VkFence " fence" -> IO VkResult type PFN_vkQueueBindSparse = FunPtr HS_vkQueueBindSparse -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- -- Queues: sparse_binding. -- --
--   VkResult vkQueueBindSparse
--       ( VkQueue queue
--       , uint32_t bindInfoCount
--       , const VkBindSparseInfo* pBindInfo
--       , VkFence fence
--       )
--   
-- -- vkQueueBindSparse registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance
--   
-- -- or less efficient: -- --
--   myQueueBindSparse <- vkGetProc @VkQueueBindSparse
--   
-- -- Note: vkQueueBindSparseUnsafe and -- vkQueueBindSparseSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkQueueBindSparse is an alias of -- vkQueueBindSparseUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkQueueBindSparseSafe. vkQueueBindSparse :: VkQueue -> Word32 -> Ptr VkBindSparseInfo -> VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- -- Queues: sparse_binding. -- --
--   VkResult vkQueueBindSparse
--       ( VkQueue queue
--       , uint32_t bindInfoCount
--       , const VkBindSparseInfo* pBindInfo
--       , VkFence fence
--       )
--   
-- -- vkQueueBindSparse registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance
--   
-- -- or less efficient: -- --
--   myQueueBindSparse <- vkGetProc @VkQueueBindSparse
--   
-- -- Note: vkQueueBindSparseUnsafe and -- vkQueueBindSparseSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkQueueBindSparse is an alias of -- vkQueueBindSparseUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkQueueBindSparseSafe. vkQueueBindSparseUnsafe :: VkQueue -> Word32 -> Ptr VkBindSparseInfo -> VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- -- Queues: sparse_binding. -- --
--   VkResult vkQueueBindSparse
--       ( VkQueue queue
--       , uint32_t bindInfoCount
--       , const VkBindSparseInfo* pBindInfo
--       , VkFence fence
--       )
--   
-- -- vkQueueBindSparse registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance
--   
-- -- or less efficient: -- --
--   myQueueBindSparse <- vkGetProc @VkQueueBindSparse
--   
-- -- Note: vkQueueBindSparseUnsafe and -- vkQueueBindSparseSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkQueueBindSparse is an alias of -- vkQueueBindSparseUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkQueueBindSparseSafe. vkQueueBindSparseSafe :: VkQueue -> Word32 -> Ptr VkBindSparseInfo -> VkFence -> IO VkResult -- | Alias for VkBindAccelerationStructureMemoryInfoKHR type VkBindAccelerationStructureMemoryInfoNV = VkBindAccelerationStructureMemoryInfoKHR -- | Alias for VkWriteDescriptorSetAccelerationStructureKHR type VkWriteDescriptorSetAccelerationStructureNV = VkWriteDescriptorSetAccelerationStructureKHR -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org type VkBindBufferMemoryDeviceGroupInfo = VkStruct VkBindBufferMemoryDeviceGroupInfo' -- | Alias for VkBindBufferMemoryDeviceGroupInfo type VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo -- |
--   typedef struct VkBindBufferMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBuffer                         buffer;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindBufferMemoryInfo;
--   
-- -- VkBindBufferMemoryInfo registry at www.khronos.org type VkBindBufferMemoryInfo = VkStruct VkBindBufferMemoryInfo' -- | Alias for VkBindBufferMemoryInfo type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo -- |
--   typedef struct VkBindImageMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--       uint32_t         splitInstanceBindRegionCount;
--       const VkRect2D*  pSplitInstanceBindRegions;
--   } VkBindImageMemoryDeviceGroupInfo;
--   
-- -- VkBindImageMemoryDeviceGroupInfo registry at www.khronos.org type VkBindImageMemoryDeviceGroupInfo = VkStruct VkBindImageMemoryDeviceGroupInfo' -- | Alias for VkBindImageMemoryDeviceGroupInfo type VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo -- |
--   typedef struct VkBindImageMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage                          image;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--   } VkBindImageMemoryInfo;
--   
-- -- VkBindImageMemoryInfo registry at www.khronos.org type VkBindImageMemoryInfo = VkStruct VkBindImageMemoryInfo' -- | Alias for VkBindImageMemoryInfo type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo -- |
--   typedef struct VkBindImageMemorySwapchainInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR swapchain;
--       uint32_t                         imageIndex;
--   } VkBindImageMemorySwapchainInfoKHR;
--   
-- -- VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org type VkBindImageMemorySwapchainInfoKHR = VkStruct VkBindImageMemorySwapchainInfoKHR' -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org type VkBindImagePlaneMemoryInfo = VkStruct VkBindImagePlaneMemoryInfo' -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   typedef struct VkBindIndexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       VkIndexType      indexType;
--   } VkBindIndexBufferIndirectCommandNV;
--   
-- -- VkBindIndexBufferIndirectCommandNV registry at www.khronos.org type VkBindIndexBufferIndirectCommandNV = VkStruct VkBindIndexBufferIndirectCommandNV' -- |
--   typedef struct VkBindShaderGroupIndirectCommandNV {
--       uint32_t         groupIndex;
--   } VkBindShaderGroupIndirectCommandNV;
--   
-- -- VkBindShaderGroupIndirectCommandNV registry at www.khronos.org type VkBindShaderGroupIndirectCommandNV = VkStruct VkBindShaderGroupIndirectCommandNV' -- |
--   typedef struct VkBindVertexBufferIndirectCommandNV {
--       VkDeviceAddress  bufferAddress;
--       uint32_t         size;
--       uint32_t         stride;
--   } VkBindVertexBufferIndirectCommandNV;
--   
-- -- VkBindVertexBufferIndirectCommandNV registry at www.khronos.org type VkBindVertexBufferIndirectCommandNV = VkStruct VkBindVertexBufferIndirectCommandNV' -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org type VkSparseImageFormatProperties2 = VkStruct VkSparseImageFormatProperties2' -- | Alias for VkSparseImageFormatProperties2 type VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2 -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org type VkSparseImageMemoryRequirements2 = VkStruct VkSparseImageMemoryRequirements2' -- | Alias for VkSparseImageMemoryRequirements2 type VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2 newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask (a :: FlagType) pattern VkFenceCreateFlagBits :: VkFlags -> VkFenceCreateBitmask FlagBit pattern VkFenceCreateFlags :: VkFlags -> VkFenceCreateBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask (a :: FlagType) pattern VkFenceImportFlagBits :: VkFlags -> VkFenceImportBitmask FlagBit pattern VkFenceImportFlags :: VkFlags -> VkFenceImportBitmask FlagMask -- | bitpos = 0 pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR type VkFenceImportFlags = VkFenceImportBitmask FlagMask -- |
--   typedef struct VkFenceCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFenceCreateFlags     flags;
--   } VkFenceCreateInfo;
--   
-- -- VkFenceCreateInfo registry at www.khronos.org type VkFenceCreateInfo = VkStruct VkFenceCreateInfo' type VkCreateFence = "vkCreateFence" pattern VkCreateFence :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFence
--       ( VkDevice device
--       , const VkFenceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFence* pFence
--       )
--   
-- -- vkCreateFence registry at www.khronos.org type HS_vkCreateFence = VkDevice " device" -> Ptr VkFenceCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkFence " pFence" -> IO VkResult type PFN_vkCreateFence = FunPtr HS_vkCreateFence -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFence
--       ( VkDevice device
--       , const VkFenceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFence* pFence
--       )
--   
-- -- vkCreateFence registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice
--   
-- -- or less efficient: -- --
--   myCreateFence <- vkGetProc @VkCreateFence
--   
-- -- Note: vkCreateFenceUnsafe and -- vkCreateFenceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateFence is -- an alias of vkCreateFenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateFenceSafe. vkCreateFence :: VkDevice -> Ptr VkFenceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFence
--       ( VkDevice device
--       , const VkFenceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFence* pFence
--       )
--   
-- -- vkCreateFence registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice
--   
-- -- or less efficient: -- --
--   myCreateFence <- vkGetProc @VkCreateFence
--   
-- -- Note: vkCreateFenceUnsafe and -- vkCreateFenceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateFence is -- an alias of vkCreateFenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateFenceSafe. vkCreateFenceUnsafe :: VkDevice -> Ptr VkFenceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFence
--       ( VkDevice device
--       , const VkFenceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFence* pFence
--       )
--   
-- -- vkCreateFence registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice
--   
-- -- or less efficient: -- --
--   myCreateFence <- vkGetProc @VkCreateFence
--   
-- -- Note: vkCreateFenceUnsafe and -- vkCreateFenceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateFence is -- an alias of vkCreateFenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateFenceSafe. vkCreateFenceSafe :: VkDevice -> Ptr VkFenceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFence -> IO VkResult type VkDestroyFence = "vkDestroyFence" pattern VkDestroyFence :: CString -- |
--   void vkDestroyFence
--       ( VkDevice device
--       , VkFence fence
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFence registry at www.khronos.org type HS_vkDestroyFence = VkDevice " device" -> VkFence " fence" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyFence = FunPtr HS_vkDestroyFence -- |
--   void vkDestroyFence
--       ( VkDevice device
--       , VkFence fence
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFence registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyFence <- vkGetProc @VkDestroyFence
--   
-- -- Note: vkDestroyFenceUnsafe and -- vkDestroyFenceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyFence is -- an alias of vkDestroyFenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyFenceSafe. vkDestroyFence :: VkDevice -> VkFence -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyFence
--       ( VkDevice device
--       , VkFence fence
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFence registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyFence <- vkGetProc @VkDestroyFence
--   
-- -- Note: vkDestroyFenceUnsafe and -- vkDestroyFenceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyFence is -- an alias of vkDestroyFenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyFenceSafe. vkDestroyFenceUnsafe :: VkDevice -> VkFence -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyFence
--       ( VkDevice device
--       , VkFence fence
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFence registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyFence <- vkGetProc @VkDestroyFence
--   
-- -- Note: vkDestroyFenceUnsafe and -- vkDestroyFenceSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyFence is -- an alias of vkDestroyFenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyFenceSafe. vkDestroyFenceSafe :: VkDevice -> VkFence -> Ptr VkAllocationCallbacks -> IO () type VkResetFences = "vkResetFences" pattern VkResetFences :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       )
--   
-- -- vkResetFences registry at www.khronos.org type HS_vkResetFences = VkDevice " device" -> Word32 " fenceCount" -> Ptr VkFence " pFences" -> IO VkResult type PFN_vkResetFences = FunPtr HS_vkResetFences -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       )
--   
-- -- vkResetFences registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetFences <- vkGetDeviceProc @VkResetFences vkDevice
--   
-- -- or less efficient: -- --
--   myResetFences <- vkGetProc @VkResetFences
--   
-- -- Note: vkResetFencesUnsafe and -- vkResetFencesSafe are the unsafe and safe -- FFI imports of this function, respectively. vkResetFences is -- an alias of vkResetFencesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetFencesSafe. vkResetFences :: VkDevice -> Word32 -> Ptr VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       )
--   
-- -- vkResetFences registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetFences <- vkGetDeviceProc @VkResetFences vkDevice
--   
-- -- or less efficient: -- --
--   myResetFences <- vkGetProc @VkResetFences
--   
-- -- Note: vkResetFencesUnsafe and -- vkResetFencesSafe are the unsafe and safe -- FFI imports of this function, respectively. vkResetFences is -- an alias of vkResetFencesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetFencesSafe. vkResetFencesUnsafe :: VkDevice -> Word32 -> Ptr VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       )
--   
-- -- vkResetFences registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetFences <- vkGetDeviceProc @VkResetFences vkDevice
--   
-- -- or less efficient: -- --
--   myResetFences <- vkGetProc @VkResetFences
--   
-- -- Note: vkResetFencesUnsafe and -- vkResetFencesSafe are the unsafe and safe -- FFI imports of this function, respectively. vkResetFences is -- an alias of vkResetFencesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetFencesSafe. vkResetFencesSafe :: VkDevice -> Word32 -> Ptr VkFence -> IO VkResult type VkGetFenceStatus = "vkGetFenceStatus" pattern VkGetFenceStatus :: CString -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetFenceStatus
--       ( VkDevice device
--       , VkFence fence
--       )
--   
-- -- vkGetFenceStatus registry at www.khronos.org type HS_vkGetFenceStatus = VkDevice " device" -> VkFence " fence" -> IO VkResult type PFN_vkGetFenceStatus = FunPtr HS_vkGetFenceStatus -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetFenceStatus
--       ( VkDevice device
--       , VkFence fence
--       )
--   
-- -- vkGetFenceStatus registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice
--   
-- -- or less efficient: -- --
--   myGetFenceStatus <- vkGetProc @VkGetFenceStatus
--   
-- -- Note: vkGetFenceStatusUnsafe and -- vkGetFenceStatusSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetFenceStatus is an alias of -- vkGetFenceStatusUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetFenceStatusSafe. vkGetFenceStatus :: VkDevice -> VkFence -> IO VkResult -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetFenceStatus
--       ( VkDevice device
--       , VkFence fence
--       )
--   
-- -- vkGetFenceStatus registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice
--   
-- -- or less efficient: -- --
--   myGetFenceStatus <- vkGetProc @VkGetFenceStatus
--   
-- -- Note: vkGetFenceStatusUnsafe and -- vkGetFenceStatusSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetFenceStatus is an alias of -- vkGetFenceStatusUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetFenceStatusSafe. vkGetFenceStatusUnsafe :: VkDevice -> VkFence -> IO VkResult -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetFenceStatus
--       ( VkDevice device
--       , VkFence fence
--       )
--   
-- -- vkGetFenceStatus registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice
--   
-- -- or less efficient: -- --
--   myGetFenceStatus <- vkGetProc @VkGetFenceStatus
--   
-- -- Note: vkGetFenceStatusUnsafe and -- vkGetFenceStatusSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetFenceStatus is an alias of -- vkGetFenceStatusUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetFenceStatusSafe. vkGetFenceStatusSafe :: VkDevice -> VkFence -> IO VkResult type VkWaitForFences = "vkWaitForFences" pattern VkWaitForFences :: CString -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitForFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       , VkBool32 waitAll
--       , uint64_t timeout
--       )
--   
-- -- vkWaitForFences registry at www.khronos.org type HS_vkWaitForFences = VkDevice " device" -> Word32 " fenceCount" -> Ptr VkFence " pFences" -> VkBool32 " waitAll" -> Word64 " timeout" -> IO VkResult type PFN_vkWaitForFences = FunPtr HS_vkWaitForFences -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitForFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       , VkBool32 waitAll
--       , uint64_t timeout
--       )
--   
-- -- vkWaitForFences registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice
--   
-- -- or less efficient: -- --
--   myWaitForFences <- vkGetProc @VkWaitForFences
--   
-- -- Note: vkWaitForFencesUnsafe and -- vkWaitForFencesSafe are the unsafe and safe -- FFI imports of this function, respectively. vkWaitForFences -- is an alias of vkWaitForFencesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkWaitForFencesSafe. vkWaitForFences :: VkDevice -> Word32 -> Ptr VkFence -> VkBool32 -> Word64 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitForFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       , VkBool32 waitAll
--       , uint64_t timeout
--       )
--   
-- -- vkWaitForFences registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice
--   
-- -- or less efficient: -- --
--   myWaitForFences <- vkGetProc @VkWaitForFences
--   
-- -- Note: vkWaitForFencesUnsafe and -- vkWaitForFencesSafe are the unsafe and safe -- FFI imports of this function, respectively. vkWaitForFences -- is an alias of vkWaitForFencesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkWaitForFencesSafe. vkWaitForFencesUnsafe :: VkDevice -> Word32 -> Ptr VkFence -> VkBool32 -> Word64 -> IO VkResult -- | Success codes: VK_SUCCESS, VK_TIMEOUT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkWaitForFences
--       ( VkDevice device
--       , uint32_t fenceCount
--       , const VkFence* pFences
--       , VkBool32 waitAll
--       , uint64_t timeout
--       )
--   
-- -- vkWaitForFences registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice
--   
-- -- or less efficient: -- --
--   myWaitForFences <- vkGetProc @VkWaitForFences
--   
-- -- Note: vkWaitForFencesUnsafe and -- vkWaitForFencesSafe are the unsafe and safe -- FFI imports of this function, respectively. vkWaitForFences -- is an alias of vkWaitForFencesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkWaitForFencesSafe. vkWaitForFencesSafe :: VkDevice -> Word32 -> Ptr VkFence -> VkBool32 -> Word64 -> IO VkResult -- |
--   typedef struct VkFenceGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence                                fence;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--   } VkFenceGetFdInfoKHR;
--   
-- -- VkFenceGetFdInfoKHR registry at www.khronos.org type VkFenceGetFdInfoKHR = VkStruct VkFenceGetFdInfoKHR' -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org type VkSemaphoreCreateInfo = VkStruct VkSemaphoreCreateInfo' type VkCreateSemaphore = "vkCreateSemaphore" pattern VkCreateSemaphore :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSemaphore
--       ( VkDevice device
--       , const VkSemaphoreCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSemaphore* pSemaphore
--       )
--   
-- -- vkCreateSemaphore registry at www.khronos.org type HS_vkCreateSemaphore = VkDevice " device" -> Ptr VkSemaphoreCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSemaphore " pSemaphore" -> IO VkResult type PFN_vkCreateSemaphore = FunPtr HS_vkCreateSemaphore -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSemaphore
--       ( VkDevice device
--       , const VkSemaphoreCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSemaphore* pSemaphore
--       )
--   
-- -- vkCreateSemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSemaphore <- vkGetProc @VkCreateSemaphore
--   
-- -- Note: vkCreateSemaphoreUnsafe and -- vkCreateSemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSemaphore is an alias of -- vkCreateSemaphoreUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateSemaphoreSafe. vkCreateSemaphore :: VkDevice -> Ptr VkSemaphoreCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSemaphore -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSemaphore
--       ( VkDevice device
--       , const VkSemaphoreCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSemaphore* pSemaphore
--       )
--   
-- -- vkCreateSemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSemaphore <- vkGetProc @VkCreateSemaphore
--   
-- -- Note: vkCreateSemaphoreUnsafe and -- vkCreateSemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSemaphore is an alias of -- vkCreateSemaphoreUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateSemaphoreSafe. vkCreateSemaphoreUnsafe :: VkDevice -> Ptr VkSemaphoreCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSemaphore -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSemaphore
--       ( VkDevice device
--       , const VkSemaphoreCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSemaphore* pSemaphore
--       )
--   
-- -- vkCreateSemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSemaphore <- vkGetProc @VkCreateSemaphore
--   
-- -- Note: vkCreateSemaphoreUnsafe and -- vkCreateSemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateSemaphore is an alias of -- vkCreateSemaphoreUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateSemaphoreSafe. vkCreateSemaphoreSafe :: VkDevice -> Ptr VkSemaphoreCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSemaphore -> IO VkResult type VkDestroySemaphore = "vkDestroySemaphore" pattern VkDestroySemaphore :: CString -- |
--   void vkDestroySemaphore
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySemaphore registry at www.khronos.org type HS_vkDestroySemaphore = VkDevice " device" -> VkSemaphore " semaphore" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroySemaphore = FunPtr HS_vkDestroySemaphore -- |
--   void vkDestroySemaphore
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySemaphore <- vkGetProc @VkDestroySemaphore
--   
-- -- Note: vkDestroySemaphoreUnsafe and -- vkDestroySemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySemaphore is an alias of -- vkDestroySemaphoreUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySemaphoreSafe. vkDestroySemaphore :: VkDevice -> VkSemaphore -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySemaphore
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySemaphore <- vkGetProc @VkDestroySemaphore
--   
-- -- Note: vkDestroySemaphoreUnsafe and -- vkDestroySemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySemaphore is an alias of -- vkDestroySemaphoreUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySemaphoreSafe. vkDestroySemaphoreUnsafe :: VkDevice -> VkSemaphore -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySemaphore
--       ( VkDevice device
--       , VkSemaphore semaphore
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySemaphore registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySemaphore <- vkGetProc @VkDestroySemaphore
--   
-- -- Note: vkDestroySemaphoreUnsafe and -- vkDestroySemaphoreSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySemaphore is an alias of -- vkDestroySemaphoreUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroySemaphoreSafe. vkDestroySemaphoreSafe :: VkDevice -> VkSemaphore -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkSemaphoreGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore                      semaphore;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkSemaphoreGetFdInfoKHR;
--   
-- -- VkSemaphoreGetFdInfoKHR registry at www.khronos.org type VkSemaphoreGetFdInfoKHR = VkStruct VkSemaphoreGetFdInfoKHR' -- |
--   typedef struct VkSemaphoreSignalInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphore            semaphore;
--       uint64_t               value;
--   } VkSemaphoreSignalInfo;
--   
-- -- VkSemaphoreSignalInfo registry at www.khronos.org type VkSemaphoreSignalInfo = VkStruct VkSemaphoreSignalInfo' -- | Alias for VkSemaphoreSignalInfo type VkSemaphoreSignalInfoKHR = VkSemaphoreSignalInfo -- |
--   typedef struct VkSemaphoreTypeCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreType        semaphoreType;
--       uint64_t               initialValue;
--   } VkSemaphoreTypeCreateInfo;
--   
-- -- VkSemaphoreTypeCreateInfo registry at www.khronos.org type VkSemaphoreTypeCreateInfo = VkStruct VkSemaphoreTypeCreateInfo' -- | Alias for VkSemaphoreTypeCreateInfo type VkSemaphoreTypeCreateInfoKHR = VkSemaphoreTypeCreateInfo -- |
--   typedef struct VkSemaphoreWaitInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreWaitFlags flags;
--       uint32_t               semaphoreCount;
--       const VkSemaphore* pSemaphores;
--       const uint64_t*    pValues;
--   } VkSemaphoreWaitInfo;
--   
-- -- VkSemaphoreWaitInfo registry at www.khronos.org type VkSemaphoreWaitInfo = VkStruct VkSemaphoreWaitInfo' -- | Alias for VkSemaphoreWaitInfo type VkSemaphoreWaitInfoKHR = VkSemaphoreWaitInfo -- |
--   typedef struct VkEventCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkEventCreateFlags     flags;
--   } VkEventCreateInfo;
--   
-- -- VkEventCreateInfo registry at www.khronos.org type VkEventCreateInfo = VkStruct VkEventCreateInfo' type VkCreateEvent = "vkCreateEvent" pattern VkCreateEvent :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateEvent
--       ( VkDevice device
--       , const VkEventCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkEvent* pEvent
--       )
--   
-- -- vkCreateEvent registry at www.khronos.org type HS_vkCreateEvent = VkDevice " device" -> Ptr VkEventCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkEvent " pEvent" -> IO VkResult type PFN_vkCreateEvent = FunPtr HS_vkCreateEvent -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateEvent
--       ( VkDevice device
--       , const VkEventCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkEvent* pEvent
--       )
--   
-- -- vkCreateEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice
--   
-- -- or less efficient: -- --
--   myCreateEvent <- vkGetProc @VkCreateEvent
--   
-- -- Note: vkCreateEventUnsafe and -- vkCreateEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateEvent is -- an alias of vkCreateEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateEventSafe. vkCreateEvent :: VkDevice -> Ptr VkEventCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkEvent -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateEvent
--       ( VkDevice device
--       , const VkEventCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkEvent* pEvent
--       )
--   
-- -- vkCreateEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice
--   
-- -- or less efficient: -- --
--   myCreateEvent <- vkGetProc @VkCreateEvent
--   
-- -- Note: vkCreateEventUnsafe and -- vkCreateEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateEvent is -- an alias of vkCreateEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateEventSafe. vkCreateEventUnsafe :: VkDevice -> Ptr VkEventCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkEvent -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateEvent
--       ( VkDevice device
--       , const VkEventCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkEvent* pEvent
--       )
--   
-- -- vkCreateEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice
--   
-- -- or less efficient: -- --
--   myCreateEvent <- vkGetProc @VkCreateEvent
--   
-- -- Note: vkCreateEventUnsafe and -- vkCreateEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateEvent is -- an alias of vkCreateEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateEventSafe. vkCreateEventSafe :: VkDevice -> Ptr VkEventCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkEvent -> IO VkResult type VkDestroyEvent = "vkDestroyEvent" pattern VkDestroyEvent :: CString -- |
--   void vkDestroyEvent
--       ( VkDevice device
--       , VkEvent event
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyEvent registry at www.khronos.org type HS_vkDestroyEvent = VkDevice " device" -> VkEvent " event" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyEvent = FunPtr HS_vkDestroyEvent -- |
--   void vkDestroyEvent
--       ( VkDevice device
--       , VkEvent event
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyEvent <- vkGetProc @VkDestroyEvent
--   
-- -- Note: vkDestroyEventUnsafe and -- vkDestroyEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyEvent is -- an alias of vkDestroyEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyEventSafe. vkDestroyEvent :: VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyEvent
--       ( VkDevice device
--       , VkEvent event
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyEvent <- vkGetProc @VkDestroyEvent
--   
-- -- Note: vkDestroyEventUnsafe and -- vkDestroyEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyEvent is -- an alias of vkDestroyEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyEventSafe. vkDestroyEventUnsafe :: VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyEvent
--       ( VkDevice device
--       , VkEvent event
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyEvent <- vkGetProc @VkDestroyEvent
--   
-- -- Note: vkDestroyEventUnsafe and -- vkDestroyEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyEvent is -- an alias of vkDestroyEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyEventSafe. vkDestroyEventSafe :: VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO () type VkGetEventStatus = "vkGetEventStatus" pattern VkGetEventStatus :: CString -- | Success codes: VK_EVENT_SET, VK_EVENT_RESET. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetEventStatus
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkGetEventStatus registry at www.khronos.org type HS_vkGetEventStatus = VkDevice " device" -> VkEvent " event" -> IO VkResult type PFN_vkGetEventStatus = FunPtr HS_vkGetEventStatus -- | Success codes: VK_EVENT_SET, VK_EVENT_RESET. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetEventStatus
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkGetEventStatus registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice
--   
-- -- or less efficient: -- --
--   myGetEventStatus <- vkGetProc @VkGetEventStatus
--   
-- -- Note: vkGetEventStatusUnsafe and -- vkGetEventStatusSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetEventStatus is an alias of -- vkGetEventStatusUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetEventStatusSafe. vkGetEventStatus :: VkDevice -> VkEvent -> IO VkResult -- | Success codes: VK_EVENT_SET, VK_EVENT_RESET. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetEventStatus
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkGetEventStatus registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice
--   
-- -- or less efficient: -- --
--   myGetEventStatus <- vkGetProc @VkGetEventStatus
--   
-- -- Note: vkGetEventStatusUnsafe and -- vkGetEventStatusSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetEventStatus is an alias of -- vkGetEventStatusUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetEventStatusSafe. vkGetEventStatusUnsafe :: VkDevice -> VkEvent -> IO VkResult -- | Success codes: VK_EVENT_SET, VK_EVENT_RESET. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetEventStatus
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkGetEventStatus registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice
--   
-- -- or less efficient: -- --
--   myGetEventStatus <- vkGetProc @VkGetEventStatus
--   
-- -- Note: vkGetEventStatusUnsafe and -- vkGetEventStatusSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetEventStatus is an alias of -- vkGetEventStatusUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkGetEventStatusSafe. vkGetEventStatusSafe :: VkDevice -> VkEvent -> IO VkResult type VkSetEvent = "vkSetEvent" pattern VkSetEvent :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkSetEvent registry at www.khronos.org type HS_vkSetEvent = VkDevice " device" -> VkEvent " event" -> IO VkResult type PFN_vkSetEvent = FunPtr HS_vkSetEvent -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkSetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice
--   
-- -- or less efficient: -- --
--   mySetEvent <- vkGetProc @VkSetEvent
--   
-- -- Note: vkSetEventUnsafe and vkSetEventSafe are -- the unsafe and safe FFI imports of this function, -- respectively. vkSetEvent is an alias of -- vkSetEventUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of vkSetEventSafe. vkSetEvent :: VkDevice -> VkEvent -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkSetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice
--   
-- -- or less efficient: -- --
--   mySetEvent <- vkGetProc @VkSetEvent
--   
-- -- Note: vkSetEventUnsafe and vkSetEventSafe are -- the unsafe and safe FFI imports of this function, -- respectively. vkSetEvent is an alias of -- vkSetEventUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of vkSetEventSafe. vkSetEventUnsafe :: VkDevice -> VkEvent -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkSetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkSetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice
--   
-- -- or less efficient: -- --
--   mySetEvent <- vkGetProc @VkSetEvent
--   
-- -- Note: vkSetEventUnsafe and vkSetEventSafe are -- the unsafe and safe FFI imports of this function, -- respectively. vkSetEvent is an alias of -- vkSetEventUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of vkSetEventSafe. vkSetEventSafe :: VkDevice -> VkEvent -> IO VkResult type VkResetEvent = "vkResetEvent" pattern VkResetEvent :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkResetEvent registry at www.khronos.org type HS_vkResetEvent = VkDevice " device" -> VkEvent " event" -> IO VkResult type PFN_vkResetEvent = FunPtr HS_vkResetEvent -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkResetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice
--   
-- -- or less efficient: -- --
--   myResetEvent <- vkGetProc @VkResetEvent
--   
-- -- Note: vkResetEventUnsafe and vkResetEventSafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkResetEvent is an alias of -- vkResetEventUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkResetEventSafe. vkResetEvent :: VkDevice -> VkEvent -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkResetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice
--   
-- -- or less efficient: -- --
--   myResetEvent <- vkGetProc @VkResetEvent
--   
-- -- Note: vkResetEventUnsafe and vkResetEventSafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkResetEvent is an alias of -- vkResetEventUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkResetEventSafe. vkResetEventUnsafe :: VkDevice -> VkEvent -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetEvent
--       ( VkDevice device
--       , VkEvent event
--       )
--   
-- -- vkResetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice
--   
-- -- or less efficient: -- --
--   myResetEvent <- vkGetProc @VkResetEvent
--   
-- -- Note: vkResetEventUnsafe and vkResetEventSafe -- are the unsafe and safe FFI imports of this -- function, respectively. vkResetEvent is an alias of -- vkResetEventUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkResetEventSafe. vkResetEventSafe :: VkDevice -> VkEvent -> IO VkResult newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask -- |
--   typedef struct VkQueryPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkQueryPoolCreateFlags flags;
--       VkQueryType            queryType;
--       uint32_t               queryCount;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkQueryPoolCreateInfo;
--   
-- -- VkQueryPoolCreateInfo registry at www.khronos.org type VkQueryPoolCreateInfo = VkStruct VkQueryPoolCreateInfo' type VkCreateQueryPool = "vkCreateQueryPool" pattern VkCreateQueryPool :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateQueryPool
--       ( VkDevice device
--       , const VkQueryPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkQueryPool* pQueryPool
--       )
--   
-- -- vkCreateQueryPool registry at www.khronos.org type HS_vkCreateQueryPool = VkDevice " device" -> Ptr VkQueryPoolCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkQueryPool " pQueryPool" -> IO VkResult type PFN_vkCreateQueryPool = FunPtr HS_vkCreateQueryPool -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateQueryPool
--       ( VkDevice device
--       , const VkQueryPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkQueryPool* pQueryPool
--       )
--   
-- -- vkCreateQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateQueryPool <- vkGetProc @VkCreateQueryPool
--   
-- -- Note: vkCreateQueryPoolUnsafe and -- vkCreateQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateQueryPool is an alias of -- vkCreateQueryPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateQueryPoolSafe. vkCreateQueryPool :: VkDevice -> Ptr VkQueryPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkQueryPool -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateQueryPool
--       ( VkDevice device
--       , const VkQueryPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkQueryPool* pQueryPool
--       )
--   
-- -- vkCreateQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateQueryPool <- vkGetProc @VkCreateQueryPool
--   
-- -- Note: vkCreateQueryPoolUnsafe and -- vkCreateQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateQueryPool is an alias of -- vkCreateQueryPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateQueryPoolSafe. vkCreateQueryPoolUnsafe :: VkDevice -> Ptr VkQueryPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkQueryPool -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateQueryPool
--       ( VkDevice device
--       , const VkQueryPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkQueryPool* pQueryPool
--       )
--   
-- -- vkCreateQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateQueryPool <- vkGetProc @VkCreateQueryPool
--   
-- -- Note: vkCreateQueryPoolUnsafe and -- vkCreateQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateQueryPool is an alias of -- vkCreateQueryPoolUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateQueryPoolSafe. vkCreateQueryPoolSafe :: VkDevice -> Ptr VkQueryPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkQueryPool -> IO VkResult type VkDestroyQueryPool = "vkDestroyQueryPool" pattern VkDestroyQueryPool :: CString -- |
--   void vkDestroyQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyQueryPool registry at www.khronos.org type HS_vkDestroyQueryPool = VkDevice " device" -> VkQueryPool " queryPool" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyQueryPool = FunPtr HS_vkDestroyQueryPool -- |
--   void vkDestroyQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool
--   
-- -- Note: vkDestroyQueryPoolUnsafe and -- vkDestroyQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyQueryPool is an alias of -- vkDestroyQueryPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyQueryPoolSafe. vkDestroyQueryPool :: VkDevice -> VkQueryPool -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool
--   
-- -- Note: vkDestroyQueryPoolUnsafe and -- vkDestroyQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyQueryPool is an alias of -- vkDestroyQueryPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyQueryPoolSafe. vkDestroyQueryPoolUnsafe :: VkDevice -> VkQueryPool -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyQueryPool
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool
--   
-- -- Note: vkDestroyQueryPoolUnsafe and -- vkDestroyQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyQueryPool is an alias of -- vkDestroyQueryPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyQueryPoolSafe. vkDestroyQueryPoolSafe :: VkDevice -> VkQueryPool -> Ptr VkAllocationCallbacks -> IO () type VkGetQueryPoolResults = "vkGetQueryPoolResults" pattern VkGetQueryPoolResults :: CString -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetQueryPoolResults
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , size_t dataSize
--       , void* pData
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkGetQueryPoolResults registry at www.khronos.org type HS_vkGetQueryPoolResults = VkDevice " device" -> VkQueryPool " queryPool" -> Word32 " firstQuery" -> Word32 " queryCount" -> CSize " dataSize" -> Ptr Void " pData" -> VkDeviceSize " stride" -> VkQueryResultFlags " flags" -> IO VkResult type PFN_vkGetQueryPoolResults = FunPtr HS_vkGetQueryPoolResults -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetQueryPoolResults
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , size_t dataSize
--       , void* pData
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkGetQueryPoolResults registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice
--   
-- -- or less efficient: -- --
--   myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults
--   
-- -- Note: vkGetQueryPoolResultsUnsafe and -- vkGetQueryPoolResultsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetQueryPoolResults is an alias of -- vkGetQueryPoolResultsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetQueryPoolResultsSafe. vkGetQueryPoolResults :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> CSize -> Ptr Void -> VkDeviceSize -> VkQueryResultFlags -> IO VkResult -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetQueryPoolResults
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , size_t dataSize
--       , void* pData
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkGetQueryPoolResults registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice
--   
-- -- or less efficient: -- --
--   myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults
--   
-- -- Note: vkGetQueryPoolResultsUnsafe and -- vkGetQueryPoolResultsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetQueryPoolResults is an alias of -- vkGetQueryPoolResultsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetQueryPoolResultsSafe. vkGetQueryPoolResultsUnsafe :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> CSize -> Ptr Void -> VkDeviceSize -> VkQueryResultFlags -> IO VkResult -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_DEVICE_LOST. -- --
--   VkResult vkGetQueryPoolResults
--       ( VkDevice device
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , size_t dataSize
--       , void* pData
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkGetQueryPoolResults registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice
--   
-- -- or less efficient: -- --
--   myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults
--   
-- -- Note: vkGetQueryPoolResultsUnsafe and -- vkGetQueryPoolResultsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetQueryPoolResults is an alias of -- vkGetQueryPoolResultsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetQueryPoolResultsSafe. vkGetQueryPoolResultsSafe :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> CSize -> Ptr Void -> VkDeviceSize -> VkQueryResultFlags -> IO VkResult -- | Alias for VkQueryPoolPerformanceQueryCreateInfoINTEL type VkQueryPoolCreateInfoINTEL = VkQueryPoolPerformanceQueryCreateInfoINTEL -- |
--   typedef struct VkQueryPoolPerformanceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                             pNext;
--       uint32_t                                queueFamilyIndex;
--       uint32_t                                counterIndexCount;
--       const uint32_t* pCounterIndices;
--   } VkQueryPoolPerformanceCreateInfoKHR;
--   
-- -- VkQueryPoolPerformanceCreateInfoKHR registry at www.khronos.org type VkQueryPoolPerformanceCreateInfoKHR = VkStruct VkQueryPoolPerformanceCreateInfoKHR' -- |
--   typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkQueryPoolSamplingModeINTEL        performanceCountersSampling;
--   } VkQueryPoolPerformanceQueryCreateInfoINTEL;
--   
-- -- VkQueryPoolPerformanceQueryCreateInfoINTEL registry at -- www.khronos.org type VkQueryPoolPerformanceQueryCreateInfoINTEL = VkStruct VkQueryPoolPerformanceQueryCreateInfoINTEL' newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask (a :: FlagType) pattern VkBufferCreateFlagBits :: VkFlags -> VkBufferCreateBitmask FlagBit pattern VkBufferCreateFlags :: VkFlags -> VkBufferCreateBitmask FlagMask -- | Buffer should support sparse backing -- -- bitpos = 0 pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT :: VkBufferCreateBitmask a -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT :: VkBufferCreateBitmask a -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT :: VkBufferCreateBitmask a newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask (a :: FlagType) pattern VkBufferUsageFlagBits :: VkFlags -> VkBufferUsageBitmask FlagBit pattern VkBufferUsageFlags :: VkFlags -> VkBufferUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a -- | Can be used as TBO -- -- bitpos = 2 pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as IBO -- -- bitpos = 3 pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as UBO -- -- bitpos = 4 pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as SSBO -- -- bitpos = 5 pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT :: VkBufferUsageBitmask a type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask -- |
--   typedef struct VkBufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferCreateFlags    flags;
--       VkDeviceSize           size;
--       VkBufferUsageFlags     usage;
--       VkSharingMode          sharingMode;
--       uint32_t               queueFamilyIndexCount;
--       const uint32_t*        pQueueFamilyIndices;
--   } VkBufferCreateInfo;
--   
-- -- VkBufferCreateInfo registry at www.khronos.org type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode type VkCreateBuffer = "vkCreateBuffer" pattern VkCreateBuffer :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkCreateBuffer
--       ( VkDevice device
--       , const VkBufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBuffer* pBuffer
--       )
--   
-- -- vkCreateBuffer registry at www.khronos.org type HS_vkCreateBuffer = VkDevice " device" -> Ptr VkBufferCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkBuffer " pBuffer" -> IO VkResult type PFN_vkCreateBuffer = FunPtr HS_vkCreateBuffer -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkCreateBuffer
--       ( VkDevice device
--       , const VkBufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBuffer* pBuffer
--       )
--   
-- -- vkCreateBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice
--   
-- -- or less efficient: -- --
--   myCreateBuffer <- vkGetProc @VkCreateBuffer
--   
-- -- Note: vkCreateBufferUnsafe and -- vkCreateBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateBuffer is -- an alias of vkCreateBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateBufferSafe. vkCreateBuffer :: VkDevice -> Ptr VkBufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkCreateBuffer
--       ( VkDevice device
--       , const VkBufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBuffer* pBuffer
--       )
--   
-- -- vkCreateBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice
--   
-- -- or less efficient: -- --
--   myCreateBuffer <- vkGetProc @VkCreateBuffer
--   
-- -- Note: vkCreateBufferUnsafe and -- vkCreateBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateBuffer is -- an alias of vkCreateBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateBufferSafe. vkCreateBufferUnsafe :: VkDevice -> Ptr VkBufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkCreateBuffer
--       ( VkDevice device
--       , const VkBufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBuffer* pBuffer
--       )
--   
-- -- vkCreateBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice
--   
-- -- or less efficient: -- --
--   myCreateBuffer <- vkGetProc @VkCreateBuffer
--   
-- -- Note: vkCreateBufferUnsafe and -- vkCreateBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateBuffer is -- an alias of vkCreateBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateBufferSafe. vkCreateBufferSafe :: VkDevice -> Ptr VkBufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBuffer -> IO VkResult type VkDestroyBuffer = "vkDestroyBuffer" pattern VkDestroyBuffer :: CString -- |
--   void vkDestroyBuffer
--       ( VkDevice device
--       , VkBuffer buffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBuffer registry at www.khronos.org type HS_vkDestroyBuffer = VkDevice " device" -> VkBuffer " buffer" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyBuffer = FunPtr HS_vkDestroyBuffer -- |
--   void vkDestroyBuffer
--       ( VkDevice device
--       , VkBuffer buffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyBuffer <- vkGetProc @VkDestroyBuffer
--   
-- -- Note: vkDestroyBufferUnsafe and -- vkDestroyBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyBuffer -- is an alias of vkDestroyBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyBufferSafe. vkDestroyBuffer :: VkDevice -> VkBuffer -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyBuffer
--       ( VkDevice device
--       , VkBuffer buffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyBuffer <- vkGetProc @VkDestroyBuffer
--   
-- -- Note: vkDestroyBufferUnsafe and -- vkDestroyBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyBuffer -- is an alias of vkDestroyBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyBufferSafe. vkDestroyBufferUnsafe :: VkDevice -> VkBuffer -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyBuffer
--       ( VkDevice device
--       , VkBuffer buffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyBuffer <- vkGetProc @VkDestroyBuffer
--   
-- -- Note: vkDestroyBufferUnsafe and -- vkDestroyBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyBuffer -- is an alias of vkDestroyBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyBufferSafe. vkDestroyBufferSafe :: VkDevice -> VkBuffer -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize                       srcOffset;
--       VkDeviceSize                       dstOffset;
--       VkDeviceSize size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org type VkBufferCopy = VkStruct VkBufferCopy' -- |
--   typedef struct VkBufferDeviceAddressCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceAddress                  deviceAddress;
--   } VkBufferDeviceAddressCreateInfoEXT;
--   
-- -- VkBufferDeviceAddressCreateInfoEXT registry at www.khronos.org type VkBufferDeviceAddressCreateInfoEXT = VkStruct VkBufferDeviceAddressCreateInfoEXT' -- |
--   typedef struct VkBufferDeviceAddressInfo {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkBuffer                                               buffer;
--   } VkBufferDeviceAddressInfo;
--   
-- -- VkBufferDeviceAddressInfo registry at www.khronos.org type VkBufferDeviceAddressInfo = VkStruct VkBufferDeviceAddressInfo' -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo -- | Alias for VkBufferDeviceAddressInfo type VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org type VkBufferImageCopy = VkStruct VkBufferImageCopy' -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org type VkBufferMemoryRequirementsInfo2 = VkStruct VkBufferMemoryRequirementsInfo2' -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint64_t                         opaqueCaptureAddress;
--   } VkBufferOpaqueCaptureAddressCreateInfo;
--   
-- -- VkBufferOpaqueCaptureAddressCreateInfo registry at -- www.khronos.org type VkBufferOpaqueCaptureAddressCreateInfo = VkStruct VkBufferOpaqueCaptureAddressCreateInfo' -- | Alias for VkBufferOpaqueCaptureAddressCreateInfo type VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org type VkBufferViewCreateInfo = VkStruct VkBufferViewCreateInfo' type VkCreateBufferView = "vkCreateBufferView" pattern VkCreateBufferView :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateBufferView
--       ( VkDevice device
--       , const VkBufferViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBufferView* pView
--       )
--   
-- -- vkCreateBufferView registry at www.khronos.org type HS_vkCreateBufferView = VkDevice " device" -> Ptr VkBufferViewCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkBufferView " pView" -> IO VkResult type PFN_vkCreateBufferView = FunPtr HS_vkCreateBufferView -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateBufferView
--       ( VkDevice device
--       , const VkBufferViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBufferView* pView
--       )
--   
-- -- vkCreateBufferView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice
--   
-- -- or less efficient: -- --
--   myCreateBufferView <- vkGetProc @VkCreateBufferView
--   
-- -- Note: vkCreateBufferViewUnsafe and -- vkCreateBufferViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateBufferView is an alias of -- vkCreateBufferViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateBufferViewSafe. vkCreateBufferView :: VkDevice -> Ptr VkBufferViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBufferView -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateBufferView
--       ( VkDevice device
--       , const VkBufferViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBufferView* pView
--       )
--   
-- -- vkCreateBufferView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice
--   
-- -- or less efficient: -- --
--   myCreateBufferView <- vkGetProc @VkCreateBufferView
--   
-- -- Note: vkCreateBufferViewUnsafe and -- vkCreateBufferViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateBufferView is an alias of -- vkCreateBufferViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateBufferViewSafe. vkCreateBufferViewUnsafe :: VkDevice -> Ptr VkBufferViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBufferView -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateBufferView
--       ( VkDevice device
--       , const VkBufferViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkBufferView* pView
--       )
--   
-- -- vkCreateBufferView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice
--   
-- -- or less efficient: -- --
--   myCreateBufferView <- vkGetProc @VkCreateBufferView
--   
-- -- Note: vkCreateBufferViewUnsafe and -- vkCreateBufferViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateBufferView is an alias of -- vkCreateBufferViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateBufferViewSafe. vkCreateBufferViewSafe :: VkDevice -> Ptr VkBufferViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBufferView -> IO VkResult type VkDestroyBufferView = "vkDestroyBufferView" pattern VkDestroyBufferView :: CString -- |
--   void vkDestroyBufferView
--       ( VkDevice device
--       , VkBufferView bufferView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBufferView registry at www.khronos.org type HS_vkDestroyBufferView = VkDevice " device" -> VkBufferView " bufferView" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyBufferView = FunPtr HS_vkDestroyBufferView -- |
--   void vkDestroyBufferView
--       ( VkDevice device
--       , VkBufferView bufferView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBufferView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyBufferView <- vkGetProc @VkDestroyBufferView
--   
-- -- Note: vkDestroyBufferViewUnsafe and -- vkDestroyBufferViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyBufferView is an alias of -- vkDestroyBufferViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyBufferViewSafe. vkDestroyBufferView :: VkDevice -> VkBufferView -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyBufferView
--       ( VkDevice device
--       , VkBufferView bufferView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBufferView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyBufferView <- vkGetProc @VkDestroyBufferView
--   
-- -- Note: vkDestroyBufferViewUnsafe and -- vkDestroyBufferViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyBufferView is an alias of -- vkDestroyBufferViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyBufferViewSafe. vkDestroyBufferViewUnsafe :: VkDevice -> VkBufferView -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyBufferView
--       ( VkDevice device
--       , VkBufferView bufferView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyBufferView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyBufferView <- vkGetProc @VkDestroyBufferView
--   
-- -- Note: vkDestroyBufferViewUnsafe and -- vkDestroyBufferViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyBufferView is an alias of -- vkDestroyBufferViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyBufferViewSafe. vkDestroyBufferViewSafe :: VkDevice -> VkBufferView -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkSubresourceLayout {
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--       VkDeviceSize           rowPitch;
--       VkDeviceSize           arrayPitch;
--       VkDeviceSize           depthPitch;
--   } VkSubresourceLayout;
--   
-- -- VkSubresourceLayout registry at www.khronos.org type VkSubresourceLayout = VkStruct VkSubresourceLayout' type VkCreateImage = "vkCreateImage" pattern VkCreateImage :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImage
--       ( VkDevice device
--       , const VkImageCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImage* pImage
--       )
--   
-- -- vkCreateImage registry at www.khronos.org type HS_vkCreateImage = VkDevice " device" -> Ptr VkImageCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkImage " pImage" -> IO VkResult type PFN_vkCreateImage = FunPtr HS_vkCreateImage -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImage
--       ( VkDevice device
--       , const VkImageCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImage* pImage
--       )
--   
-- -- vkCreateImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice
--   
-- -- or less efficient: -- --
--   myCreateImage <- vkGetProc @VkCreateImage
--   
-- -- Note: vkCreateImageUnsafe and -- vkCreateImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateImage is -- an alias of vkCreateImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateImageSafe. vkCreateImage :: VkDevice -> Ptr VkImageCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImage -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImage
--       ( VkDevice device
--       , const VkImageCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImage* pImage
--       )
--   
-- -- vkCreateImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice
--   
-- -- or less efficient: -- --
--   myCreateImage <- vkGetProc @VkCreateImage
--   
-- -- Note: vkCreateImageUnsafe and -- vkCreateImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateImage is -- an alias of vkCreateImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateImageSafe. vkCreateImageUnsafe :: VkDevice -> Ptr VkImageCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImage -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImage
--       ( VkDevice device
--       , const VkImageCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImage* pImage
--       )
--   
-- -- vkCreateImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice
--   
-- -- or less efficient: -- --
--   myCreateImage <- vkGetProc @VkCreateImage
--   
-- -- Note: vkCreateImageUnsafe and -- vkCreateImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateImage is -- an alias of vkCreateImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateImageSafe. vkCreateImageSafe :: VkDevice -> Ptr VkImageCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImage -> IO VkResult type VkDestroyImage = "vkDestroyImage" pattern VkDestroyImage :: CString -- |
--   void vkDestroyImage
--       ( VkDevice device
--       , VkImage image
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImage registry at www.khronos.org type HS_vkDestroyImage = VkDevice " device" -> VkImage " image" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyImage = FunPtr HS_vkDestroyImage -- |
--   void vkDestroyImage
--       ( VkDevice device
--       , VkImage image
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyImage <- vkGetProc @VkDestroyImage
--   
-- -- Note: vkDestroyImageUnsafe and -- vkDestroyImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyImage is -- an alias of vkDestroyImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyImageSafe. vkDestroyImage :: VkDevice -> VkImage -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyImage
--       ( VkDevice device
--       , VkImage image
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyImage <- vkGetProc @VkDestroyImage
--   
-- -- Note: vkDestroyImageUnsafe and -- vkDestroyImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyImage is -- an alias of vkDestroyImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyImageSafe. vkDestroyImageUnsafe :: VkDevice -> VkImage -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyImage
--       ( VkDevice device
--       , VkImage image
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyImage <- vkGetProc @VkDestroyImage
--   
-- -- Note: vkDestroyImageUnsafe and -- vkDestroyImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkDestroyImage is -- an alias of vkDestroyImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyImageSafe. vkDestroyImageSafe :: VkDevice -> VkImage -> Ptr VkAllocationCallbacks -> IO () type VkGetImageSubresourceLayout = "vkGetImageSubresourceLayout" pattern VkGetImageSubresourceLayout :: CString -- |
--   void vkGetImageSubresourceLayout
--       ( VkDevice device
--       , VkImage image
--       , const VkImageSubresource* pSubresource
--       , VkSubresourceLayout* pLayout
--       )
--   
-- -- vkGetImageSubresourceLayout registry at www.khronos.org type HS_vkGetImageSubresourceLayout = VkDevice " device" -> VkImage " image" -> Ptr VkImageSubresource " pSubresource" -> Ptr VkSubresourceLayout " pLayout" -> IO () type PFN_vkGetImageSubresourceLayout = FunPtr HS_vkGetImageSubresourceLayout -- |
--   void vkGetImageSubresourceLayout
--       ( VkDevice device
--       , VkImage image
--       , const VkImageSubresource* pSubresource
--       , VkSubresourceLayout* pLayout
--       )
--   
-- -- vkGetImageSubresourceLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout
--   
-- -- Note: vkGetImageSubresourceLayoutUnsafe and -- vkGetImageSubresourceLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageSubresourceLayout is an alias of -- vkGetImageSubresourceLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSubresourceLayoutSafe. vkGetImageSubresourceLayout :: VkDevice -> VkImage -> Ptr VkImageSubresource -> Ptr VkSubresourceLayout -> IO () -- |
--   void vkGetImageSubresourceLayout
--       ( VkDevice device
--       , VkImage image
--       , const VkImageSubresource* pSubresource
--       , VkSubresourceLayout* pLayout
--       )
--   
-- -- vkGetImageSubresourceLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout
--   
-- -- Note: vkGetImageSubresourceLayoutUnsafe and -- vkGetImageSubresourceLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageSubresourceLayout is an alias of -- vkGetImageSubresourceLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSubresourceLayoutSafe. vkGetImageSubresourceLayoutUnsafe :: VkDevice -> VkImage -> Ptr VkImageSubresource -> Ptr VkSubresourceLayout -> IO () -- |
--   void vkGetImageSubresourceLayout
--       ( VkDevice device
--       , VkImage image
--       , const VkImageSubresource* pSubresource
--       , VkSubresourceLayout* pLayout
--       )
--   
-- -- vkGetImageSubresourceLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice
--   
-- -- or less efficient: -- --
--   myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout
--   
-- -- Note: vkGetImageSubresourceLayoutUnsafe and -- vkGetImageSubresourceLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetImageSubresourceLayout is an alias of -- vkGetImageSubresourceLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetImageSubresourceLayoutSafe. vkGetImageSubresourceLayoutSafe :: VkDevice -> VkImage -> Ptr VkImageSubresource -> Ptr VkSubresourceLayout -> IO () -- |
--   typedef struct VkComponentMapping {
--       VkComponentSwizzle r;
--       VkComponentSwizzle g;
--       VkComponentSwizzle b;
--       VkComponentSwizzle a;
--   } VkComponentMapping;
--   
-- -- VkComponentMapping registry at www.khronos.org type VkComponentMapping = VkStruct VkComponentMapping' -- | type = enum -- -- VkComponentSwizzle registry at www.khronos.org newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle -- | type = enum -- -- VkComponentTypeNV registry at www.khronos.org newtype VkComponentTypeNV VkComponentTypeNV :: Int32 -> VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_FLOAT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_SINT64_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT8_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT16_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT32_NV :: VkComponentTypeNV pattern VK_COMPONENT_TYPE_UINT64_NV :: VkComponentTypeNV type VkCreateImageView = "vkCreateImageView" pattern VkCreateImageView :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImageView
--       ( VkDevice device
--       , const VkImageViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImageView* pView
--       )
--   
-- -- vkCreateImageView registry at www.khronos.org type HS_vkCreateImageView = VkDevice " device" -> Ptr VkImageViewCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkImageView " pView" -> IO VkResult type PFN_vkCreateImageView = FunPtr HS_vkCreateImageView -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImageView
--       ( VkDevice device
--       , const VkImageViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImageView* pView
--       )
--   
-- -- vkCreateImageView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice
--   
-- -- or less efficient: -- --
--   myCreateImageView <- vkGetProc @VkCreateImageView
--   
-- -- Note: vkCreateImageViewUnsafe and -- vkCreateImageViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateImageView is an alias of -- vkCreateImageViewUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateImageViewSafe. vkCreateImageView :: VkDevice -> Ptr VkImageViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImageView -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImageView
--       ( VkDevice device
--       , const VkImageViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImageView* pView
--       )
--   
-- -- vkCreateImageView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice
--   
-- -- or less efficient: -- --
--   myCreateImageView <- vkGetProc @VkCreateImageView
--   
-- -- Note: vkCreateImageViewUnsafe and -- vkCreateImageViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateImageView is an alias of -- vkCreateImageViewUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateImageViewSafe. vkCreateImageViewUnsafe :: VkDevice -> Ptr VkImageViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImageView -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateImageView
--       ( VkDevice device
--       , const VkImageViewCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkImageView* pView
--       )
--   
-- -- vkCreateImageView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice
--   
-- -- or less efficient: -- --
--   myCreateImageView <- vkGetProc @VkCreateImageView
--   
-- -- Note: vkCreateImageViewUnsafe and -- vkCreateImageViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateImageView is an alias of -- vkCreateImageViewUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateImageViewSafe. vkCreateImageViewSafe :: VkDevice -> Ptr VkImageViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImageView -> IO VkResult type VkDestroyImageView = "vkDestroyImageView" pattern VkDestroyImageView :: CString -- |
--   void vkDestroyImageView
--       ( VkDevice device
--       , VkImageView imageView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImageView registry at www.khronos.org type HS_vkDestroyImageView = VkDevice " device" -> VkImageView " imageView" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyImageView = FunPtr HS_vkDestroyImageView -- |
--   void vkDestroyImageView
--       ( VkDevice device
--       , VkImageView imageView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImageView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyImageView <- vkGetProc @VkDestroyImageView
--   
-- -- Note: vkDestroyImageViewUnsafe and -- vkDestroyImageViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyImageView is an alias of -- vkDestroyImageViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyImageViewSafe. vkDestroyImageView :: VkDevice -> VkImageView -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyImageView
--       ( VkDevice device
--       , VkImageView imageView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImageView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyImageView <- vkGetProc @VkDestroyImageView
--   
-- -- Note: vkDestroyImageViewUnsafe and -- vkDestroyImageViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyImageView is an alias of -- vkDestroyImageViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyImageViewSafe. vkDestroyImageViewUnsafe :: VkDevice -> VkImageView -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyImageView
--       ( VkDevice device
--       , VkImageView imageView
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyImageView registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyImageView <- vkGetProc @VkDestroyImageView
--   
-- -- Note: vkDestroyImageViewUnsafe and -- vkDestroyImageViewSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyImageView is an alias of -- vkDestroyImageViewUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyImageViewSafe. vkDestroyImageViewSafe :: VkDevice -> VkImageView -> Ptr VkAllocationCallbacks -> IO () -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkShaderModuleCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkShaderModuleCreateFlags flags;
--       size_t                 codeSize;
--       const uint32_t*            pCode;
--   } VkShaderModuleCreateInfo;
--   
-- -- VkShaderModuleCreateInfo registry at www.khronos.org type VkShaderModuleCreateInfo = VkStruct VkShaderModuleCreateInfo' type VkCreateShaderModule = "vkCreateShaderModule" pattern VkCreateShaderModule :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateShaderModule
--       ( VkDevice device
--       , const VkShaderModuleCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkShaderModule* pShaderModule
--       )
--   
-- -- vkCreateShaderModule registry at www.khronos.org type HS_vkCreateShaderModule = VkDevice " device" -> Ptr VkShaderModuleCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkShaderModule " pShaderModule" -> IO VkResult type PFN_vkCreateShaderModule = FunPtr HS_vkCreateShaderModule -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateShaderModule
--       ( VkDevice device
--       , const VkShaderModuleCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkShaderModule* pShaderModule
--       )
--   
-- -- vkCreateShaderModule registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice
--   
-- -- or less efficient: -- --
--   myCreateShaderModule <- vkGetProc @VkCreateShaderModule
--   
-- -- Note: vkCreateShaderModuleUnsafe and -- vkCreateShaderModuleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateShaderModule is an alias of -- vkCreateShaderModuleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateShaderModuleSafe. vkCreateShaderModule :: VkDevice -> Ptr VkShaderModuleCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkShaderModule -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateShaderModule
--       ( VkDevice device
--       , const VkShaderModuleCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkShaderModule* pShaderModule
--       )
--   
-- -- vkCreateShaderModule registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice
--   
-- -- or less efficient: -- --
--   myCreateShaderModule <- vkGetProc @VkCreateShaderModule
--   
-- -- Note: vkCreateShaderModuleUnsafe and -- vkCreateShaderModuleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateShaderModule is an alias of -- vkCreateShaderModuleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateShaderModuleSafe. vkCreateShaderModuleUnsafe :: VkDevice -> Ptr VkShaderModuleCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkShaderModule -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateShaderModule
--       ( VkDevice device
--       , const VkShaderModuleCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkShaderModule* pShaderModule
--       )
--   
-- -- vkCreateShaderModule registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice
--   
-- -- or less efficient: -- --
--   myCreateShaderModule <- vkGetProc @VkCreateShaderModule
--   
-- -- Note: vkCreateShaderModuleUnsafe and -- vkCreateShaderModuleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateShaderModule is an alias of -- vkCreateShaderModuleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateShaderModuleSafe. vkCreateShaderModuleSafe :: VkDevice -> Ptr VkShaderModuleCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkShaderModule -> IO VkResult type VkDestroyShaderModule = "vkDestroyShaderModule" pattern VkDestroyShaderModule :: CString -- |
--   void vkDestroyShaderModule
--       ( VkDevice device
--       , VkShaderModule shaderModule
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyShaderModule registry at www.khronos.org type HS_vkDestroyShaderModule = VkDevice " device" -> VkShaderModule " shaderModule" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyShaderModule = FunPtr HS_vkDestroyShaderModule -- |
--   void vkDestroyShaderModule
--       ( VkDevice device
--       , VkShaderModule shaderModule
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyShaderModule registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule
--   
-- -- Note: vkDestroyShaderModuleUnsafe and -- vkDestroyShaderModuleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyShaderModule is an alias of -- vkDestroyShaderModuleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyShaderModuleSafe. vkDestroyShaderModule :: VkDevice -> VkShaderModule -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyShaderModule
--       ( VkDevice device
--       , VkShaderModule shaderModule
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyShaderModule registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule
--   
-- -- Note: vkDestroyShaderModuleUnsafe and -- vkDestroyShaderModuleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyShaderModule is an alias of -- vkDestroyShaderModuleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyShaderModuleSafe. vkDestroyShaderModuleUnsafe :: VkDevice -> VkShaderModule -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyShaderModule
--       ( VkDevice device
--       , VkShaderModule shaderModule
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyShaderModule registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule
--   
-- -- Note: vkDestroyShaderModuleUnsafe and -- vkDestroyShaderModuleSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyShaderModule is an alias of -- vkDestroyShaderModuleUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyShaderModuleSafe. vkDestroyShaderModuleSafe :: VkDevice -> VkShaderModule -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheEXT    validationCache;
--   } VkShaderModuleValidationCacheCreateInfoEXT;
--   
-- -- VkShaderModuleValidationCacheCreateInfoEXT registry at -- www.khronos.org type VkShaderModuleValidationCacheCreateInfoEXT = VkStruct VkShaderModuleValidationCacheCreateInfoEXT' -- |
--   typedef struct VkShaderResourceUsageAMD {
--       uint32_t numUsedVgprs;
--       uint32_t numUsedSgprs;
--       uint32_t ldsSizePerLocalWorkGroup;
--       size_t ldsUsageSizeInBytes;
--       size_t scratchMemUsageInBytes;
--   } VkShaderResourceUsageAMD;
--   
-- -- VkShaderResourceUsageAMD registry at www.khronos.org type VkShaderResourceUsageAMD = VkStruct VkShaderResourceUsageAMD' -- |
--   typedef struct VkShaderStatisticsInfoAMD {
--       VkShaderStageFlags shaderStageMask;
--       VkShaderResourceUsageAMD resourceUsage;
--       uint32_t numPhysicalVgprs;
--       uint32_t numPhysicalSgprs;
--       uint32_t numAvailableVgprs;
--       uint32_t numAvailableSgprs;
--       uint32_t computeWorkGroupSize[3];
--   } VkShaderStatisticsInfoAMD;
--   
-- -- VkShaderStatisticsInfoAMD registry at www.khronos.org type VkShaderStatisticsInfoAMD = VkStruct VkShaderStatisticsInfoAMD' -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org type VkPipelineCacheCreateInfo = VkStruct VkPipelineCacheCreateInfo' type VkCreatePipelineCache = "vkCreatePipelineCache" pattern VkCreatePipelineCache :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineCache
--       ( VkDevice device
--       , const VkPipelineCacheCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineCache* pPipelineCache
--       )
--   
-- -- vkCreatePipelineCache registry at www.khronos.org type HS_vkCreatePipelineCache = VkDevice " device" -> Ptr VkPipelineCacheCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkPipelineCache " pPipelineCache" -> IO VkResult type PFN_vkCreatePipelineCache = FunPtr HS_vkCreatePipelineCache -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineCache
--       ( VkDevice device
--       , const VkPipelineCacheCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineCache* pPipelineCache
--       )
--   
-- -- vkCreatePipelineCache registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice
--   
-- -- or less efficient: -- --
--   myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache
--   
-- -- Note: vkCreatePipelineCacheUnsafe and -- vkCreatePipelineCacheSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreatePipelineCache is an alias of -- vkCreatePipelineCacheUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreatePipelineCacheSafe. vkCreatePipelineCache :: VkDevice -> Ptr VkPipelineCacheCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineCache -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineCache
--       ( VkDevice device
--       , const VkPipelineCacheCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineCache* pPipelineCache
--       )
--   
-- -- vkCreatePipelineCache registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice
--   
-- -- or less efficient: -- --
--   myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache
--   
-- -- Note: vkCreatePipelineCacheUnsafe and -- vkCreatePipelineCacheSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreatePipelineCache is an alias of -- vkCreatePipelineCacheUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreatePipelineCacheSafe. vkCreatePipelineCacheUnsafe :: VkDevice -> Ptr VkPipelineCacheCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineCache -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineCache
--       ( VkDevice device
--       , const VkPipelineCacheCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineCache* pPipelineCache
--       )
--   
-- -- vkCreatePipelineCache registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice
--   
-- -- or less efficient: -- --
--   myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache
--   
-- -- Note: vkCreatePipelineCacheUnsafe and -- vkCreatePipelineCacheSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreatePipelineCache is an alias of -- vkCreatePipelineCacheUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreatePipelineCacheSafe. vkCreatePipelineCacheSafe :: VkDevice -> Ptr VkPipelineCacheCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineCache -> IO VkResult type VkDestroyPipelineCache = "vkDestroyPipelineCache" pattern VkDestroyPipelineCache :: CString -- |
--   void vkDestroyPipelineCache
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineCache registry at www.khronos.org type HS_vkDestroyPipelineCache = VkDevice " device" -> VkPipelineCache " pipelineCache" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyPipelineCache = FunPtr HS_vkDestroyPipelineCache -- |
--   void vkDestroyPipelineCache
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineCache registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache
--   
-- -- Note: vkDestroyPipelineCacheUnsafe and -- vkDestroyPipelineCacheSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipelineCache is an alias of -- vkDestroyPipelineCacheUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyPipelineCacheSafe. vkDestroyPipelineCache :: VkDevice -> VkPipelineCache -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyPipelineCache
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineCache registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache
--   
-- -- Note: vkDestroyPipelineCacheUnsafe and -- vkDestroyPipelineCacheSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipelineCache is an alias of -- vkDestroyPipelineCacheUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyPipelineCacheSafe. vkDestroyPipelineCacheUnsafe :: VkDevice -> VkPipelineCache -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyPipelineCache
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineCache registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache
--   
-- -- Note: vkDestroyPipelineCacheUnsafe and -- vkDestroyPipelineCacheSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipelineCache is an alias of -- vkDestroyPipelineCacheUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyPipelineCacheSafe. vkDestroyPipelineCacheSafe :: VkDevice -> VkPipelineCache -> Ptr VkAllocationCallbacks -> IO () type VkGetPipelineCacheData = "vkGetPipelineCacheData" pattern VkGetPipelineCacheData :: CString -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPipelineCacheData
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , size_t* pDataSize
--       , void* pData
--       )
--   
-- -- vkGetPipelineCacheData registry at www.khronos.org type HS_vkGetPipelineCacheData = VkDevice " device" -> VkPipelineCache " pipelineCache" -> Ptr CSize " pDataSize" -> Ptr Void " pData" -> IO VkResult type PFN_vkGetPipelineCacheData = FunPtr HS_vkGetPipelineCacheData -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPipelineCacheData
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , size_t* pDataSize
--       , void* pData
--       )
--   
-- -- vkGetPipelineCacheData registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice
--   
-- -- or less efficient: -- --
--   myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData
--   
-- -- Note: vkGetPipelineCacheDataUnsafe and -- vkGetPipelineCacheDataSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPipelineCacheData is an alias of -- vkGetPipelineCacheDataUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPipelineCacheDataSafe. vkGetPipelineCacheData :: VkDevice -> VkPipelineCache -> Ptr CSize -> Ptr Void -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPipelineCacheData
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , size_t* pDataSize
--       , void* pData
--       )
--   
-- -- vkGetPipelineCacheData registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice
--   
-- -- or less efficient: -- --
--   myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData
--   
-- -- Note: vkGetPipelineCacheDataUnsafe and -- vkGetPipelineCacheDataSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPipelineCacheData is an alias of -- vkGetPipelineCacheDataUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPipelineCacheDataSafe. vkGetPipelineCacheDataUnsafe :: VkDevice -> VkPipelineCache -> Ptr CSize -> Ptr Void -> IO VkResult -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetPipelineCacheData
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , size_t* pDataSize
--       , void* pData
--       )
--   
-- -- vkGetPipelineCacheData registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice
--   
-- -- or less efficient: -- --
--   myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData
--   
-- -- Note: vkGetPipelineCacheDataUnsafe and -- vkGetPipelineCacheDataSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetPipelineCacheData is an alias of -- vkGetPipelineCacheDataUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetPipelineCacheDataSafe. vkGetPipelineCacheDataSafe :: VkDevice -> VkPipelineCache -> Ptr CSize -> Ptr Void -> IO VkResult type VkMergePipelineCaches = "vkMergePipelineCaches" pattern VkMergePipelineCaches :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkMergePipelineCaches
--       ( VkDevice device
--       , VkPipelineCache dstCache
--       , uint32_t srcCacheCount
--       , const VkPipelineCache* pSrcCaches
--       )
--   
-- -- vkMergePipelineCaches registry at www.khronos.org type HS_vkMergePipelineCaches = VkDevice " device" -> VkPipelineCache " dstCache" -> Word32 " srcCacheCount" -> Ptr VkPipelineCache " pSrcCaches" -> IO VkResult type PFN_vkMergePipelineCaches = FunPtr HS_vkMergePipelineCaches -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkMergePipelineCaches
--       ( VkDevice device
--       , VkPipelineCache dstCache
--       , uint32_t srcCacheCount
--       , const VkPipelineCache* pSrcCaches
--       )
--   
-- -- vkMergePipelineCaches registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice
--   
-- -- or less efficient: -- --
--   myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches
--   
-- -- Note: vkMergePipelineCachesUnsafe and -- vkMergePipelineCachesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkMergePipelineCaches is an alias of -- vkMergePipelineCachesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkMergePipelineCachesSafe. vkMergePipelineCaches :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkPipelineCache -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkMergePipelineCaches
--       ( VkDevice device
--       , VkPipelineCache dstCache
--       , uint32_t srcCacheCount
--       , const VkPipelineCache* pSrcCaches
--       )
--   
-- -- vkMergePipelineCaches registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice
--   
-- -- or less efficient: -- --
--   myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches
--   
-- -- Note: vkMergePipelineCachesUnsafe and -- vkMergePipelineCachesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkMergePipelineCaches is an alias of -- vkMergePipelineCachesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkMergePipelineCachesSafe. vkMergePipelineCachesUnsafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkPipelineCache -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkMergePipelineCaches
--       ( VkDevice device
--       , VkPipelineCache dstCache
--       , uint32_t srcCacheCount
--       , const VkPipelineCache* pSrcCaches
--       )
--   
-- -- vkMergePipelineCaches registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice
--   
-- -- or less efficient: -- --
--   myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches
--   
-- -- Note: vkMergePipelineCachesUnsafe and -- vkMergePipelineCachesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkMergePipelineCaches is an alias of -- vkMergePipelineCachesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkMergePipelineCachesSafe. vkMergePipelineCachesSafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkPipelineCache -> IO VkResult -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineColorBlendAdvancedStateCreateInfoEXT = VkStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- |
--   typedef struct VkPipelineCompilerControlCreateInfoAMD {
--       VkStructureType   sType;
--       const void*                                                                            pNext;
--       VkPipelineCompilerControlFlagsAMD                                      compilerControlFlags;
--   } VkPipelineCompilerControlCreateInfoAMD;
--   
-- -- VkPipelineCompilerControlCreateInfoAMD registry at -- www.khronos.org type VkPipelineCompilerControlCreateInfoAMD = VkStruct VkPipelineCompilerControlCreateInfoAMD' -- |
--   typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageModulationStateCreateFlagsNV                   flags;
--       VkCoverageModulationModeNV                                                       coverageModulationMode;
--       VkBool32                                                                         coverageModulationTableEnable;
--       uint32_t                                                         coverageModulationTableCount;
--       const float* pCoverageModulationTable;
--   } VkPipelineCoverageModulationStateCreateInfoNV;
--   
-- -- VkPipelineCoverageModulationStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageModulationStateCreateInfoNV = VkStruct VkPipelineCoverageModulationStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkPipelineCoverageReductionStateCreateFlagsNV      flags;
--       VkCoverageReductionModeNV                                          coverageReductionMode;
--   } VkPipelineCoverageReductionStateCreateInfoNV;
--   
-- -- VkPipelineCoverageReductionStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageReductionStateCreateInfoNV = VkStruct VkPipelineCoverageReductionStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageToColorStateCreateInfoNV = VkStruct VkPipelineCoverageToColorStateCreateInfoNV' -- |
--   typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPipelineCreationFeedbackEXT*      pPipelineCreationFeedback;
--       uint32_t                            pipelineStageCreationFeedbackCount;
--       VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
--   } VkPipelineCreationFeedbackCreateInfoEXT;
--   
-- -- VkPipelineCreationFeedbackCreateInfoEXT registry at -- www.khronos.org type VkPipelineCreationFeedbackCreateInfoEXT = VkStruct VkPipelineCreationFeedbackCreateInfoEXT' -- |
--   typedef struct VkPipelineCreationFeedbackEXT {
--       VkPipelineCreationFeedbackFlagsEXT  flags;
--       uint64_t                            duration;
--   } VkPipelineCreationFeedbackEXT;
--   
-- -- VkPipelineCreationFeedbackEXT registry at www.khronos.org type VkPipelineCreationFeedbackEXT = VkStruct VkPipelineCreationFeedbackEXT' -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       VkPipelineDiscardRectangleStateCreateFlagsEXT     flags;
--       VkDiscardRectangleModeEXT                                         discardRectangleMode;
--       uint32_t                                          discardRectangleCount;
--       const VkRect2D* pDiscardRectangles;
--   } VkPipelineDiscardRectangleStateCreateInfoEXT;
--   
-- -- VkPipelineDiscardRectangleStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineDiscardRectangleStateCreateInfoEXT = VkStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineExecutableInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--       uint32_t           executableIndex;
--   } VkPipelineExecutableInfoKHR;
--   
-- -- VkPipelineExecutableInfoKHR registry at www.khronos.org type VkPipelineExecutableInfoKHR = VkStruct VkPipelineExecutableInfoKHR' -- |
--   typedef struct VkPipelineExecutableInternalRepresentationKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkBool32           isText;
--       size_t               dataSize;
--       void* pData;
--   } VkPipelineExecutableInternalRepresentationKHR;
--   
-- -- VkPipelineExecutableInternalRepresentationKHR registry at -- www.khronos.org type VkPipelineExecutableInternalRepresentationKHR = VkStruct VkPipelineExecutableInternalRepresentationKHR' -- |
--   typedef struct VkPipelineExecutablePropertiesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkShaderStageFlags stages;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       uint32_t           subgroupSize;
--   } VkPipelineExecutablePropertiesKHR;
--   
-- -- VkPipelineExecutablePropertiesKHR registry at www.khronos.org type VkPipelineExecutablePropertiesKHR = VkStruct VkPipelineExecutablePropertiesKHR' -- |
--   typedef struct VkPipelineExecutableStatisticKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkPipelineExecutableStatisticFormatKHR format;
--       VkPipelineExecutableStatisticValueKHR  value;
--   } VkPipelineExecutableStatisticKHR;
--   
-- -- VkPipelineExecutableStatisticKHR registry at www.khronos.org type VkPipelineExecutableStatisticKHR = VkStruct VkPipelineExecutableStatisticKHR' -- |
--   typedef union VkPipelineExecutableStatisticValueKHR {
--       VkBool32           b32;
--       int64_t            i64;
--       uint64_t           u64;
--       double             f64;
--   } VkPipelineExecutableStatisticValueKHR;
--   
-- -- VkPipelineExecutableStatisticValueKHR registry at -- www.khronos.org type VkPipelineExecutableStatisticValueKHR = VkStruct VkPipelineExecutableStatisticValueKHR' -- |
--   typedef struct VkPipelineInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--   } VkPipelineInfoKHR;
--   
-- -- VkPipelineInfoKHR registry at www.khronos.org type VkPipelineInfoKHR = VkStruct VkPipelineInfoKHR' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineLayoutCreateFlags    flags;
--       uint32_t               setLayoutCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--       uint32_t               pushConstantRangeCount;
--       const VkPushConstantRange* pPushConstantRanges;
--   } VkPipelineLayoutCreateInfo;
--   
-- -- VkPipelineLayoutCreateInfo registry at www.khronos.org type VkPipelineLayoutCreateInfo = VkStruct VkPipelineLayoutCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationConservativeStateCreateInfoEXT = VkStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                 pNext;
--       VkPipelineRasterizationDepthClipStateCreateFlagsEXT         flags;
--       VkBool32                                                                    depthClipEnable;
--   } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationDepthClipStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationDepthClipStateCreateInfoEXT = VkStruct VkPipelineRasterizationDepthClipStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                      pNext;
--       VkLineRasterizationModeEXT                                       lineRasterizationMode;
--       VkBool32                                                         stippledLineEnable;
--       uint32_t                                         lineStippleFactor;
--       uint16_t                                         lineStipplePattern;
--   } VkPipelineRasterizationLineStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationLineStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationLineStateCreateInfoEXT = VkStruct VkPipelineRasterizationLineStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org type VkPipelineRasterizationStateRasterizationOrderAMD = VkStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- |
--   typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationStateStreamCreateFlagsEXT                 flags;
--       uint32_t                                                                         rasterizationStream;
--   } VkPipelineRasterizationStateStreamCreateInfoEXT;
--   
-- -- VkPipelineRasterizationStateStreamCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationStateStreamCreateInfoEXT = VkStruct VkPipelineRasterizationStateStreamCreateInfoEXT' -- |
--   typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       representativeFragmentTestEnable;
--   } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
--   
-- -- VkPipelineRepresentativeFragmentTestStateCreateInfoNV registry at -- www.khronos.org type VkPipelineRepresentativeFragmentTestStateCreateInfoNV = VkStruct VkPipelineRepresentativeFragmentTestStateCreateInfoNV' -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineSampleLocationsStateCreateInfoEXT = VkStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               requiredSubgroupSize;
--   } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
--   
-- -- VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT registry at -- www.khronos.org type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkStruct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationDomainOriginStateCreateInfo = VkStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- | Alias for VkPipelineTessellationDomainOriginStateCreateInfo type VkPipelineTessellationDomainOriginStateCreateInfoKHR = VkPipelineTessellationDomainOriginStateCreateInfo -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineVertexInputDivisorStateCreateInfoEXT = VkStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                            pNext;
--       VkCoarseSampleOrderTypeNV                                              sampleOrderType;
--       uint32_t                                               customSampleOrderCount;
--       const VkCoarseSampleOrderCustomNV*        pCustomSampleOrders;
--   } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
--   
-- -- VkPipelineViewportCoarseSampleOrderStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = VkStruct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       uint32_t                                          exclusiveScissorCount;
--       const VkRect2D* pExclusiveScissors;
--   } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
--   
-- -- VkPipelineViewportExclusiveScissorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportExclusiveScissorStateCreateInfoNV = VkStruct VkPipelineViewportExclusiveScissorStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                             pNext;
--       VkBool32                                                                shadingRateImageEnable;
--       uint32_t                                                viewportCount;
--       const VkShadingRatePaletteNV* pShadingRatePalettes;
--   } VkPipelineViewportShadingRateImageStateCreateInfoNV;
--   
-- -- VkPipelineViewportShadingRateImageStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportShadingRateImageStateCreateInfoNV = VkStruct VkPipelineViewportShadingRateImageStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportSwizzleStateCreateInfoNV = VkStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportWScalingStateCreateInfoNV = VkStruct VkPipelineViewportWScalingStateCreateInfoNV' -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp pattern VK_BLEND_OP_ADD :: VkBlendOp pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_MIN :: VkBlendOp pattern VK_BLEND_OP_MAX :: VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp -- |
--   typedef struct VkComputePipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       VkPipelineShaderStageCreateInfo stage;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkComputePipelineCreateInfo;
--   
-- -- VkComputePipelineCreateInfo registry at www.khronos.org type VkComputePipelineCreateInfo = VkStruct VkComputePipelineCreateInfo' newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp pattern VK_LOGIC_OP_CLEAR :: VkLogicOp pattern VK_LOGIC_OP_AND :: VkLogicOp pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY :: VkLogicOp pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NO_OP :: VkLogicOp pattern VK_LOGIC_OP_XOR :: VkLogicOp pattern VK_LOGIC_OP_OR :: VkLogicOp pattern VK_LOGIC_OP_NOR :: VkLogicOp pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp pattern VK_LOGIC_OP_INVERT :: VkLogicOp pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NAND :: VkLogicOp pattern VK_LOGIC_OP_SET :: VkLogicOp -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask (a :: FlagType) pattern VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceBitmask FlagBit pattern VkStencilFaceFlags :: VkFlags -> VkStencilFaceBitmask FlagMask -- | Front face -- -- bitpos = 0 pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a -- | Back face -- -- bitpos = 1 pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a -- | Front and back faces pattern VK_STENCIL_FACE_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | Alias for backwards compatibility pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp pattern VK_STENCIL_OP_KEEP :: VkStencilOp pattern VK_STENCIL_OP_ZERO :: VkStencilOp pattern VK_STENCIL_OP_REPLACE :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_INVERT :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask -- |
--   typedef struct VkStencilOpState {
--       VkStencilOp            failOp;
--       VkStencilOp            passOp;
--       VkStencilOp            depthFailOp;
--       VkCompareOp            compareOp;
--       uint32_t               compareMask;
--       uint32_t               writeMask;
--       uint32_t               reference;
--   } VkStencilOpState;
--   
-- -- VkStencilOpState registry at www.khronos.org type VkStencilOpState = VkStruct VkStencilOpState' -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org type VkVertexInputAttributeDescription = VkStruct VkVertexInputAttributeDescription' -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org type VkVertexInputBindingDescription = VkStruct VkVertexInputBindingDescription' -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VkCreateGraphicsPipelines = "vkCreateGraphicsPipelines" pattern VkCreateGraphicsPipelines :: CString -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateGraphicsPipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkGraphicsPipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateGraphicsPipelines registry at www.khronos.org type HS_vkCreateGraphicsPipelines = VkDevice " device" -> VkPipelineCache " pipelineCache" -> Word32 " createInfoCount" -> Ptr VkGraphicsPipelineCreateInfo " pCreateInfos" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkPipeline " pPipelines" -> IO VkResult type PFN_vkCreateGraphicsPipelines = FunPtr HS_vkCreateGraphicsPipelines -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateGraphicsPipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkGraphicsPipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateGraphicsPipelines registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice
--   
-- -- or less efficient: -- --
--   myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines
--   
-- -- Note: vkCreateGraphicsPipelinesUnsafe and -- vkCreateGraphicsPipelinesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateGraphicsPipelines is an alias of -- vkCreateGraphicsPipelinesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateGraphicsPipelinesSafe. vkCreateGraphicsPipelines :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkGraphicsPipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateGraphicsPipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkGraphicsPipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateGraphicsPipelines registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice
--   
-- -- or less efficient: -- --
--   myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines
--   
-- -- Note: vkCreateGraphicsPipelinesUnsafe and -- vkCreateGraphicsPipelinesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateGraphicsPipelines is an alias of -- vkCreateGraphicsPipelinesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateGraphicsPipelinesSafe. vkCreateGraphicsPipelinesUnsafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkGraphicsPipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateGraphicsPipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkGraphicsPipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateGraphicsPipelines registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice
--   
-- -- or less efficient: -- --
--   myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines
--   
-- -- Note: vkCreateGraphicsPipelinesUnsafe and -- vkCreateGraphicsPipelinesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateGraphicsPipelines is an alias of -- vkCreateGraphicsPipelinesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateGraphicsPipelinesSafe. vkCreateGraphicsPipelinesSafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkGraphicsPipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult type VkCreateComputePipelines = "vkCreateComputePipelines" pattern VkCreateComputePipelines :: CString -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateComputePipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkComputePipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateComputePipelines registry at www.khronos.org type HS_vkCreateComputePipelines = VkDevice " device" -> VkPipelineCache " pipelineCache" -> Word32 " createInfoCount" -> Ptr VkComputePipelineCreateInfo " pCreateInfos" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkPipeline " pPipelines" -> IO VkResult type PFN_vkCreateComputePipelines = FunPtr HS_vkCreateComputePipelines -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateComputePipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkComputePipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateComputePipelines registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice
--   
-- -- or less efficient: -- --
--   myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines
--   
-- -- Note: vkCreateComputePipelinesUnsafe and -- vkCreateComputePipelinesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateComputePipelines is an alias of -- vkCreateComputePipelinesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateComputePipelinesSafe. vkCreateComputePipelines :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkComputePipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateComputePipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkComputePipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateComputePipelines registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice
--   
-- -- or less efficient: -- --
--   myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines
--   
-- -- Note: vkCreateComputePipelinesUnsafe and -- vkCreateComputePipelinesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateComputePipelines is an alias of -- vkCreateComputePipelinesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateComputePipelinesSafe. vkCreateComputePipelinesUnsafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkComputePipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateComputePipelines
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkComputePipelineCreateInfo* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateComputePipelines registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice
--   
-- -- or less efficient: -- --
--   myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines
--   
-- -- Note: vkCreateComputePipelinesUnsafe and -- vkCreateComputePipelinesSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateComputePipelines is an alias of -- vkCreateComputePipelinesUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateComputePipelinesSafe. vkCreateComputePipelinesSafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkComputePipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult type VkDestroyPipeline = "vkDestroyPipeline" pattern VkDestroyPipeline :: CString -- |
--   void vkDestroyPipeline
--       ( VkDevice device
--       , VkPipeline pipeline
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipeline registry at www.khronos.org type HS_vkDestroyPipeline = VkDevice " device" -> VkPipeline " pipeline" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyPipeline = FunPtr HS_vkDestroyPipeline -- |
--   void vkDestroyPipeline
--       ( VkDevice device
--       , VkPipeline pipeline
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipeline registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipeline <- vkGetProc @VkDestroyPipeline
--   
-- -- Note: vkDestroyPipelineUnsafe and -- vkDestroyPipelineSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipeline is an alias of -- vkDestroyPipelineUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroyPipelineSafe. vkDestroyPipeline :: VkDevice -> VkPipeline -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyPipeline
--       ( VkDevice device
--       , VkPipeline pipeline
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipeline registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipeline <- vkGetProc @VkDestroyPipeline
--   
-- -- Note: vkDestroyPipelineUnsafe and -- vkDestroyPipelineSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipeline is an alias of -- vkDestroyPipelineUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroyPipelineSafe. vkDestroyPipelineUnsafe :: VkDevice -> VkPipeline -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyPipeline
--       ( VkDevice device
--       , VkPipeline pipeline
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipeline registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipeline <- vkGetProc @VkDestroyPipeline
--   
-- -- Note: vkDestroyPipelineUnsafe and -- vkDestroyPipelineSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipeline is an alias of -- vkDestroyPipelineUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroyPipelineSafe. vkDestroyPipelineSafe :: VkDevice -> VkPipeline -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org type VkRectLayerKHR = VkStruct VkRectLayerKHR' -- |
--   typedef struct VkVertexInputBindingDivisorDescriptionEXT {
--       uint32_t          binding;
--       uint32_t          divisor;
--   } VkVertexInputBindingDivisorDescriptionEXT;
--   
-- -- VkVertexInputBindingDivisorDescriptionEXT registry at -- www.khronos.org type VkVertexInputBindingDivisorDescriptionEXT = VkStruct VkVertexInputBindingDivisorDescriptionEXT' -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org type VkViewportSwizzleNV = VkStruct VkViewportSwizzleNV' -- |
--   typedef struct VkViewportWScalingNV {
--       float          xcoeff;
--       float          ycoeff;
--   } VkViewportWScalingNV;
--   
-- -- VkViewportWScalingNV registry at www.khronos.org type VkViewportWScalingNV = VkStruct VkViewportWScalingNV' -- |
--   typedef struct VkPushConstantRange {
--       VkShaderStageFlags     stageFlags;
--       uint32_t               offset;
--       uint32_t               size;
--   } VkPushConstantRange;
--   
-- -- VkPushConstantRange registry at www.khronos.org type VkPushConstantRange = VkStruct VkPushConstantRange' type VkCreatePipelineLayout = "vkCreatePipelineLayout" pattern VkCreatePipelineLayout :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineLayout
--       ( VkDevice device
--       , const VkPipelineLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineLayout* pPipelineLayout
--       )
--   
-- -- vkCreatePipelineLayout registry at www.khronos.org type HS_vkCreatePipelineLayout = VkDevice " device" -> Ptr VkPipelineLayoutCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkPipelineLayout " pPipelineLayout" -> IO VkResult type PFN_vkCreatePipelineLayout = FunPtr HS_vkCreatePipelineLayout -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineLayout
--       ( VkDevice device
--       , const VkPipelineLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineLayout* pPipelineLayout
--       )
--   
-- -- vkCreatePipelineLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice
--   
-- -- or less efficient: -- --
--   myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout
--   
-- -- Note: vkCreatePipelineLayoutUnsafe and -- vkCreatePipelineLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreatePipelineLayout is an alias of -- vkCreatePipelineLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreatePipelineLayoutSafe. vkCreatePipelineLayout :: VkDevice -> Ptr VkPipelineLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineLayout -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineLayout
--       ( VkDevice device
--       , const VkPipelineLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineLayout* pPipelineLayout
--       )
--   
-- -- vkCreatePipelineLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice
--   
-- -- or less efficient: -- --
--   myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout
--   
-- -- Note: vkCreatePipelineLayoutUnsafe and -- vkCreatePipelineLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreatePipelineLayout is an alias of -- vkCreatePipelineLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreatePipelineLayoutSafe. vkCreatePipelineLayoutUnsafe :: VkDevice -> Ptr VkPipelineLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineLayout -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreatePipelineLayout
--       ( VkDevice device
--       , const VkPipelineLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipelineLayout* pPipelineLayout
--       )
--   
-- -- vkCreatePipelineLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice
--   
-- -- or less efficient: -- --
--   myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout
--   
-- -- Note: vkCreatePipelineLayoutUnsafe and -- vkCreatePipelineLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreatePipelineLayout is an alias of -- vkCreatePipelineLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreatePipelineLayoutSafe. vkCreatePipelineLayoutSafe :: VkDevice -> Ptr VkPipelineLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineLayout -> IO VkResult type VkDestroyPipelineLayout = "vkDestroyPipelineLayout" pattern VkDestroyPipelineLayout :: CString -- |
--   void vkDestroyPipelineLayout
--       ( VkDevice device
--       , VkPipelineLayout pipelineLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineLayout registry at www.khronos.org type HS_vkDestroyPipelineLayout = VkDevice " device" -> VkPipelineLayout " pipelineLayout" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyPipelineLayout = FunPtr HS_vkDestroyPipelineLayout -- |
--   void vkDestroyPipelineLayout
--       ( VkDevice device
--       , VkPipelineLayout pipelineLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout
--   
-- -- Note: vkDestroyPipelineLayoutUnsafe and -- vkDestroyPipelineLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipelineLayout is an alias of -- vkDestroyPipelineLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyPipelineLayoutSafe. vkDestroyPipelineLayout :: VkDevice -> VkPipelineLayout -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyPipelineLayout
--       ( VkDevice device
--       , VkPipelineLayout pipelineLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout
--   
-- -- Note: vkDestroyPipelineLayoutUnsafe and -- vkDestroyPipelineLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipelineLayout is an alias of -- vkDestroyPipelineLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyPipelineLayoutSafe. vkDestroyPipelineLayoutUnsafe :: VkDevice -> VkPipelineLayout -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyPipelineLayout
--       ( VkDevice device
--       , VkPipelineLayout pipelineLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyPipelineLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout
--   
-- -- Note: vkDestroyPipelineLayoutUnsafe and -- vkDestroyPipelineLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyPipelineLayout is an alias of -- vkDestroyPipelineLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyPipelineLayoutSafe. vkDestroyPipelineLayoutSafe :: VkDevice -> VkPipelineLayout -> Ptr VkAllocationCallbacks -> IO () -- | type = enum -- -- VkBorderColor registry at www.khronos.org newtype VkBorderColor VkBorderColor :: Int32 -> VkBorderColor pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK :: VkBorderColor pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE :: VkBorderColor pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE :: VkBorderColor -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter pattern VK_FILTER_NEAREST :: VkFilter pattern VK_FILTER_LINEAR :: VkFilter -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE :: VkSamplerAddressMode pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER :: VkSamplerAddressMode -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode -- | Linear filter between mip levels pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode -- | type = enum -- -- VkSamplerReductionMode registry at www.khronos.org newtype VkSamplerReductionMode VkSamplerReductionMode :: Int32 -> VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MIN :: VkSamplerReductionMode pattern VK_SAMPLER_REDUCTION_MODE_MAX :: VkSamplerReductionMode -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY :: VkSamplerYcbcrModelConversion -- | just range expansion pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY :: VkSamplerYcbcrModelConversion -- | aka HD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 :: VkSamplerYcbcrModelConversion -- | aka SD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 :: VkSamplerYcbcrModelConversion -- | aka UHD YUV pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 :: VkSamplerYcbcrModelConversion -- | type = enum -- -- VkSamplerYcbcrRange registry at www.khronos.org newtype VkSamplerYcbcrRange VkSamplerYcbcrRange :: Int32 -> VkSamplerYcbcrRange -- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped) pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange newtype VkSamplerCreateBitmask (a :: FlagType) VkSamplerCreateBitmask :: VkFlags -> VkSamplerCreateBitmask (a :: FlagType) pattern VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateBitmask FlagBit pattern VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateBitmask FlagMask type VkSamplerCreateFlagBits = VkSamplerCreateBitmask FlagBit type VkSamplerCreateFlags = VkSamplerCreateBitmask FlagMask newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: VkFlags -> VkSamplerReductionModeEXT newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR -- |
--   typedef struct VkSamplerCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerCreateFlags   flags;
--       VkFilter               magFilter;
--       VkFilter               minFilter;
--       VkSamplerMipmapMode    mipmapMode;
--       VkSamplerAddressMode   addressModeU;
--       VkSamplerAddressMode   addressModeV;
--       VkSamplerAddressMode   addressModeW;
--       float                  mipLodBias;
--       VkBool32               anisotropyEnable;
--       float                  maxAnisotropy;
--       VkBool32               compareEnable;
--       VkCompareOp            compareOp;
--       float                  minLod;
--       float                  maxLod;
--       VkBorderColor          borderColor;
--       VkBool32               unnormalizedCoordinates;
--   } VkSamplerCreateInfo;
--   
-- -- VkSamplerCreateInfo registry at www.khronos.org type VkSamplerCreateInfo = VkStruct VkSamplerCreateInfo' type VkCreateSampler = "vkCreateSampler" pattern VkCreateSampler :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSampler
--       ( VkDevice device
--       , const VkSamplerCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSampler* pSampler
--       )
--   
-- -- vkCreateSampler registry at www.khronos.org type HS_vkCreateSampler = VkDevice " device" -> Ptr VkSamplerCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkSampler " pSampler" -> IO VkResult type PFN_vkCreateSampler = FunPtr HS_vkCreateSampler -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSampler
--       ( VkDevice device
--       , const VkSamplerCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSampler* pSampler
--       )
--   
-- -- vkCreateSampler registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSampler <- vkGetProc @VkCreateSampler
--   
-- -- Note: vkCreateSamplerUnsafe and -- vkCreateSamplerSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateSampler -- is an alias of vkCreateSamplerUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSamplerSafe. vkCreateSampler :: VkDevice -> Ptr VkSamplerCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSampler -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSampler
--       ( VkDevice device
--       , const VkSamplerCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSampler* pSampler
--       )
--   
-- -- vkCreateSampler registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSampler <- vkGetProc @VkCreateSampler
--   
-- -- Note: vkCreateSamplerUnsafe and -- vkCreateSamplerSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateSampler -- is an alias of vkCreateSamplerUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSamplerSafe. vkCreateSamplerUnsafe :: VkDevice -> Ptr VkSamplerCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSampler -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateSampler
--       ( VkDevice device
--       , const VkSamplerCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkSampler* pSampler
--       )
--   
-- -- vkCreateSampler registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice
--   
-- -- or less efficient: -- --
--   myCreateSampler <- vkGetProc @VkCreateSampler
--   
-- -- Note: vkCreateSamplerUnsafe and -- vkCreateSamplerSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCreateSampler -- is an alias of vkCreateSamplerUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateSamplerSafe. vkCreateSamplerSafe :: VkDevice -> Ptr VkSamplerCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSampler -> IO VkResult type VkDestroySampler = "vkDestroySampler" pattern VkDestroySampler :: CString -- |
--   void vkDestroySampler
--       ( VkDevice device
--       , VkSampler sampler
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySampler registry at www.khronos.org type HS_vkDestroySampler = VkDevice " device" -> VkSampler " sampler" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroySampler = FunPtr HS_vkDestroySampler -- |
--   void vkDestroySampler
--       ( VkDevice device
--       , VkSampler sampler
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySampler registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySampler <- vkGetProc @VkDestroySampler
--   
-- -- Note: vkDestroySamplerUnsafe and -- vkDestroySamplerSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySampler is an alias of -- vkDestroySamplerUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroySamplerSafe. vkDestroySampler :: VkDevice -> VkSampler -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySampler
--       ( VkDevice device
--       , VkSampler sampler
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySampler registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySampler <- vkGetProc @VkDestroySampler
--   
-- -- Note: vkDestroySamplerUnsafe and -- vkDestroySamplerSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySampler is an alias of -- vkDestroySamplerUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroySamplerSafe. vkDestroySamplerUnsafe :: VkDevice -> VkSampler -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroySampler
--       ( VkDevice device
--       , VkSampler sampler
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroySampler registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice
--   
-- -- or less efficient: -- --
--   myDestroySampler <- vkGetProc @VkDestroySampler
--   
-- -- Note: vkDestroySamplerUnsafe and -- vkDestroySamplerSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroySampler is an alias of -- vkDestroySamplerUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkDestroySamplerSafe. vkDestroySamplerSafe :: VkDevice -> VkSampler -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                            pNext;
--       VkClearColorValue                                                                      customBorderColor;
--       VkFormat                                                                               format;
--   } VkSamplerCustomBorderColorCreateInfoEXT;
--   
-- -- VkSamplerCustomBorderColorCreateInfoEXT registry at -- www.khronos.org type VkSamplerCustomBorderColorCreateInfoEXT = VkStruct VkSamplerCustomBorderColorCreateInfoEXT' -- |
--   typedef struct VkSamplerReductionModeCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerReductionMode           reductionMode;
--   } VkSamplerReductionModeCreateInfo;
--   
-- -- VkSamplerReductionModeCreateInfo registry at www.khronos.org type VkSamplerReductionModeCreateInfo = VkStruct VkSamplerReductionModeCreateInfo' -- | Alias for VkSamplerReductionModeCreateInfo type VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo -- |
--   typedef struct VkSamplerYcbcrConversionCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkFormat                         format;
--       VkSamplerYcbcrModelConversion ycbcrModel;
--       VkSamplerYcbcrRange           ycbcrRange;
--       VkComponentMapping               components;
--       VkChromaLocation              xChromaOffset;
--       VkChromaLocation              yChromaOffset;
--       VkFilter                         chromaFilter;
--       VkBool32                         forceExplicitReconstruction;
--   } VkSamplerYcbcrConversionCreateInfo;
--   
-- -- VkSamplerYcbcrConversionCreateInfo registry at www.khronos.org type VkSamplerYcbcrConversionCreateInfo = VkStruct VkSamplerYcbcrConversionCreateInfo' -- | Alias for VkSamplerYcbcrConversionCreateInfo type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo -- |
--   typedef struct VkSamplerYcbcrConversionImageFormatProperties {
--       VkStructureType sType;
--       void*      pNext;
--       uint32_t                         combinedImageSamplerDescriptorCount;
--   } VkSamplerYcbcrConversionImageFormatProperties;
--   
-- -- VkSamplerYcbcrConversionImageFormatProperties registry at -- www.khronos.org type VkSamplerYcbcrConversionImageFormatProperties = VkStruct VkSamplerYcbcrConversionImageFormatProperties' -- | Alias for VkSamplerYcbcrConversionImageFormatProperties type VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties -- |
--   typedef struct VkSamplerYcbcrConversionInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerYcbcrConversion      conversion;
--   } VkSamplerYcbcrConversionInfo;
--   
-- -- VkSamplerYcbcrConversionInfo registry at www.khronos.org type VkSamplerYcbcrConversionInfo = VkStruct VkSamplerYcbcrConversionInfo' -- | Alias for VkSamplerYcbcrConversionInfo type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo -- |
--   typedef struct VkCopyDescriptorSet {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSet        srcSet;
--       uint32_t               srcBinding;
--       uint32_t               srcArrayElement;
--       VkDescriptorSet        dstSet;
--       uint32_t               dstBinding;
--       uint32_t               dstArrayElement;
--       uint32_t               descriptorCount;
--   } VkCopyDescriptorSet;
--   
-- -- VkCopyDescriptorSet registry at www.khronos.org type VkCopyDescriptorSet = VkStruct VkCopyDescriptorSet' -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   typedef struct VkDescriptorPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPoolCreateFlags  flags;
--       uint32_t               maxSets;
--       uint32_t               poolSizeCount;
--       const VkDescriptorPoolSize* pPoolSizes;
--   } VkDescriptorPoolCreateInfo;
--   
-- -- VkDescriptorPoolCreateInfo registry at www.khronos.org type VkDescriptorPoolCreateInfo = VkStruct VkDescriptorPoolCreateInfo' -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org type VkDescriptorPoolSize = VkStruct VkDescriptorPoolSize' -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org type VkDescriptorSetAllocateInfo = VkStruct VkDescriptorSetAllocateInfo' -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org type VkDescriptorSetLayoutBinding = VkStruct VkDescriptorSetLayoutBinding' -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org type VkDescriptorSetLayoutCreateInfo = VkStruct VkDescriptorSetLayoutCreateInfo' -- |
--   typedef struct VkWriteDescriptorSet {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSet        dstSet;
--       uint32_t               dstBinding;
--       uint32_t               dstArrayElement;
--       uint32_t               descriptorCount;
--       VkDescriptorType       descriptorType;
--       const VkDescriptorImageInfo* pImageInfo;
--       const VkDescriptorBufferInfo* pBufferInfo;
--       const VkBufferView*    pTexelBufferView;
--   } VkWriteDescriptorSet;
--   
-- -- VkWriteDescriptorSet registry at www.khronos.org type VkWriteDescriptorSet = VkStruct VkWriteDescriptorSet' type VkCreateDescriptorSetLayout = "vkCreateDescriptorSetLayout" pattern VkCreateDescriptorSetLayout :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorSetLayout
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorSetLayout* pSetLayout
--       )
--   
-- -- vkCreateDescriptorSetLayout registry at www.khronos.org type HS_vkCreateDescriptorSetLayout = VkDevice " device" -> Ptr VkDescriptorSetLayoutCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDescriptorSetLayout " pSetLayout" -> IO VkResult type PFN_vkCreateDescriptorSetLayout = FunPtr HS_vkCreateDescriptorSetLayout -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorSetLayout
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorSetLayout* pSetLayout
--       )
--   
-- -- vkCreateDescriptorSetLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout
--   
-- -- Note: vkCreateDescriptorSetLayoutUnsafe and -- vkCreateDescriptorSetLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDescriptorSetLayout is an alias of -- vkCreateDescriptorSetLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorSetLayoutSafe. vkCreateDescriptorSetLayout :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorSetLayout -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorSetLayout
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorSetLayout* pSetLayout
--       )
--   
-- -- vkCreateDescriptorSetLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout
--   
-- -- Note: vkCreateDescriptorSetLayoutUnsafe and -- vkCreateDescriptorSetLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDescriptorSetLayout is an alias of -- vkCreateDescriptorSetLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorSetLayoutSafe. vkCreateDescriptorSetLayoutUnsafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorSetLayout -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateDescriptorSetLayout
--       ( VkDevice device
--       , const VkDescriptorSetLayoutCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorSetLayout* pSetLayout
--       )
--   
-- -- vkCreateDescriptorSetLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout
--   
-- -- Note: vkCreateDescriptorSetLayoutUnsafe and -- vkCreateDescriptorSetLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDescriptorSetLayout is an alias of -- vkCreateDescriptorSetLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorSetLayoutSafe. vkCreateDescriptorSetLayoutSafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorSetLayout -> IO VkResult type VkDestroyDescriptorSetLayout = "vkDestroyDescriptorSetLayout" pattern VkDestroyDescriptorSetLayout :: CString -- |
--   void vkDestroyDescriptorSetLayout
--       ( VkDevice device
--       , VkDescriptorSetLayout descriptorSetLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorSetLayout registry at www.khronos.org type HS_vkDestroyDescriptorSetLayout = VkDevice " device" -> VkDescriptorSetLayout " descriptorSetLayout" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDescriptorSetLayout = FunPtr HS_vkDestroyDescriptorSetLayout -- |
--   void vkDestroyDescriptorSetLayout
--       ( VkDevice device
--       , VkDescriptorSetLayout descriptorSetLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorSetLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout
--   
-- -- Note: vkDestroyDescriptorSetLayoutUnsafe and -- vkDestroyDescriptorSetLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyDescriptorSetLayout is an alias of -- vkDestroyDescriptorSetLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorSetLayoutSafe. vkDestroyDescriptorSetLayout :: VkDevice -> VkDescriptorSetLayout -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDescriptorSetLayout
--       ( VkDevice device
--       , VkDescriptorSetLayout descriptorSetLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorSetLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout
--   
-- -- Note: vkDestroyDescriptorSetLayoutUnsafe and -- vkDestroyDescriptorSetLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyDescriptorSetLayout is an alias of -- vkDestroyDescriptorSetLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorSetLayoutSafe. vkDestroyDescriptorSetLayoutUnsafe :: VkDevice -> VkDescriptorSetLayout -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDescriptorSetLayout
--       ( VkDevice device
--       , VkDescriptorSetLayout descriptorSetLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorSetLayout registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout
--   
-- -- Note: vkDestroyDescriptorSetLayoutUnsafe and -- vkDestroyDescriptorSetLayoutSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyDescriptorSetLayout is an alias of -- vkDestroyDescriptorSetLayoutUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorSetLayoutSafe. vkDestroyDescriptorSetLayoutSafe :: VkDevice -> VkDescriptorSetLayout -> Ptr VkAllocationCallbacks -> IO () type VkCreateDescriptorPool = "vkCreateDescriptorPool" pattern VkCreateDescriptorPool :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FRAGMENTATION_EXT. -- --
--   VkResult vkCreateDescriptorPool
--       ( VkDevice device
--       , const VkDescriptorPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorPool* pDescriptorPool
--       )
--   
-- -- vkCreateDescriptorPool registry at www.khronos.org type HS_vkCreateDescriptorPool = VkDevice " device" -> Ptr VkDescriptorPoolCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDescriptorPool " pDescriptorPool" -> IO VkResult type PFN_vkCreateDescriptorPool = FunPtr HS_vkCreateDescriptorPool -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FRAGMENTATION_EXT. -- --
--   VkResult vkCreateDescriptorPool
--       ( VkDevice device
--       , const VkDescriptorPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorPool* pDescriptorPool
--       )
--   
-- -- vkCreateDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool
--   
-- -- Note: vkCreateDescriptorPoolUnsafe and -- vkCreateDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDescriptorPool is an alias of -- vkCreateDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorPoolSafe. vkCreateDescriptorPool :: VkDevice -> Ptr VkDescriptorPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorPool -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FRAGMENTATION_EXT. -- --
--   VkResult vkCreateDescriptorPool
--       ( VkDevice device
--       , const VkDescriptorPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorPool* pDescriptorPool
--       )
--   
-- -- vkCreateDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool
--   
-- -- Note: vkCreateDescriptorPoolUnsafe and -- vkCreateDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDescriptorPool is an alias of -- vkCreateDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorPoolSafe. vkCreateDescriptorPoolUnsafe :: VkDevice -> Ptr VkDescriptorPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorPool -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_FRAGMENTATION_EXT. -- --
--   VkResult vkCreateDescriptorPool
--       ( VkDevice device
--       , const VkDescriptorPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkDescriptorPool* pDescriptorPool
--       )
--   
-- -- vkCreateDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool
--   
-- -- Note: vkCreateDescriptorPoolUnsafe and -- vkCreateDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateDescriptorPool is an alias of -- vkCreateDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateDescriptorPoolSafe. vkCreateDescriptorPoolSafe :: VkDevice -> Ptr VkDescriptorPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorPool -> IO VkResult type VkDestroyDescriptorPool = "vkDestroyDescriptorPool" pattern VkDestroyDescriptorPool :: CString -- |
--   void vkDestroyDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorPool registry at www.khronos.org type HS_vkDestroyDescriptorPool = VkDevice " device" -> VkDescriptorPool " descriptorPool" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDescriptorPool = FunPtr HS_vkDestroyDescriptorPool -- |
--   void vkDestroyDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool
--   
-- -- Note: vkDestroyDescriptorPoolUnsafe and -- vkDestroyDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyDescriptorPool is an alias of -- vkDestroyDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorPoolSafe. vkDestroyDescriptorPool :: VkDevice -> VkDescriptorPool -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool
--   
-- -- Note: vkDestroyDescriptorPoolUnsafe and -- vkDestroyDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyDescriptorPool is an alias of -- vkDestroyDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorPoolSafe. vkDestroyDescriptorPoolUnsafe :: VkDevice -> VkDescriptorPool -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool
--   
-- -- Note: vkDestroyDescriptorPoolUnsafe and -- vkDestroyDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyDescriptorPool is an alias of -- vkDestroyDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyDescriptorPoolSafe. vkDestroyDescriptorPoolSafe :: VkDevice -> VkDescriptorPool -> Ptr VkAllocationCallbacks -> IO () type VkResetDescriptorPool = "vkResetDescriptorPool" pattern VkResetDescriptorPool :: CString -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkResetDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , VkDescriptorPoolResetFlags flags
--       )
--   
-- -- vkResetDescriptorPool registry at www.khronos.org type HS_vkResetDescriptorPool = VkDevice " device" -> VkDescriptorPool " descriptorPool" -> VkDescriptorPoolResetFlags " flags" -> IO VkResult type PFN_vkResetDescriptorPool = FunPtr HS_vkResetDescriptorPool -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkResetDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , VkDescriptorPoolResetFlags flags
--       )
--   
-- -- vkResetDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool
--   
-- -- Note: vkResetDescriptorPoolUnsafe and -- vkResetDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetDescriptorPool is an alias of -- vkResetDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetDescriptorPoolSafe. vkResetDescriptorPool :: VkDevice -> VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkResetDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , VkDescriptorPoolResetFlags flags
--       )
--   
-- -- vkResetDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool
--   
-- -- Note: vkResetDescriptorPoolUnsafe and -- vkResetDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetDescriptorPool is an alias of -- vkResetDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetDescriptorPoolSafe. vkResetDescriptorPoolUnsafe :: VkDevice -> VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkResetDescriptorPool
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , VkDescriptorPoolResetFlags flags
--       )
--   
-- -- vkResetDescriptorPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool
--   
-- -- Note: vkResetDescriptorPoolUnsafe and -- vkResetDescriptorPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetDescriptorPool is an alias of -- vkResetDescriptorPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetDescriptorPoolSafe. vkResetDescriptorPoolSafe :: VkDevice -> VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult type VkAllocateDescriptorSets = "vkAllocateDescriptorSets" pattern VkAllocateDescriptorSets :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_FRAGMENTED_POOL, -- VK_ERROR_OUT_OF_POOL_MEMORY. -- --
--   VkResult vkAllocateDescriptorSets
--       ( VkDevice device
--       , const VkDescriptorSetAllocateInfo* pAllocateInfo
--       , VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkAllocateDescriptorSets registry at www.khronos.org type HS_vkAllocateDescriptorSets = VkDevice " device" -> Ptr VkDescriptorSetAllocateInfo " pAllocateInfo" -> Ptr VkDescriptorSet " pDescriptorSets" -> IO VkResult type PFN_vkAllocateDescriptorSets = FunPtr HS_vkAllocateDescriptorSets -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_FRAGMENTED_POOL, -- VK_ERROR_OUT_OF_POOL_MEMORY. -- --
--   VkResult vkAllocateDescriptorSets
--       ( VkDevice device
--       , const VkDescriptorSetAllocateInfo* pAllocateInfo
--       , VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkAllocateDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets
--   
-- -- Note: vkAllocateDescriptorSetsUnsafe and -- vkAllocateDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateDescriptorSets is an alias of -- vkAllocateDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAllocateDescriptorSetsSafe. vkAllocateDescriptorSets :: VkDevice -> Ptr VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSet -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_FRAGMENTED_POOL, -- VK_ERROR_OUT_OF_POOL_MEMORY. -- --
--   VkResult vkAllocateDescriptorSets
--       ( VkDevice device
--       , const VkDescriptorSetAllocateInfo* pAllocateInfo
--       , VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkAllocateDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets
--   
-- -- Note: vkAllocateDescriptorSetsUnsafe and -- vkAllocateDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateDescriptorSets is an alias of -- vkAllocateDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAllocateDescriptorSetsSafe. vkAllocateDescriptorSetsUnsafe :: VkDevice -> Ptr VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSet -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_FRAGMENTED_POOL, -- VK_ERROR_OUT_OF_POOL_MEMORY. -- --
--   VkResult vkAllocateDescriptorSets
--       ( VkDevice device
--       , const VkDescriptorSetAllocateInfo* pAllocateInfo
--       , VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkAllocateDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets
--   
-- -- Note: vkAllocateDescriptorSetsUnsafe and -- vkAllocateDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateDescriptorSets is an alias of -- vkAllocateDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAllocateDescriptorSetsSafe. vkAllocateDescriptorSetsSafe :: VkDevice -> Ptr VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSet -> IO VkResult type VkFreeDescriptorSets = "vkFreeDescriptorSets" pattern VkFreeDescriptorSets :: CString -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkFreeDescriptorSets
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkFreeDescriptorSets registry at www.khronos.org type HS_vkFreeDescriptorSets = VkDevice " device" -> VkDescriptorPool " descriptorPool" -> Word32 " descriptorSetCount" -> Ptr VkDescriptorSet " pDescriptorSets" -> IO VkResult type PFN_vkFreeDescriptorSets = FunPtr HS_vkFreeDescriptorSets -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkFreeDescriptorSets
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkFreeDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets
--   
-- -- Note: vkFreeDescriptorSetsUnsafe and -- vkFreeDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFreeDescriptorSets is an alias of -- vkFreeDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFreeDescriptorSetsSafe. vkFreeDescriptorSets :: VkDevice -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkFreeDescriptorSets
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkFreeDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets
--   
-- -- Note: vkFreeDescriptorSetsUnsafe and -- vkFreeDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFreeDescriptorSets is an alias of -- vkFreeDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFreeDescriptorSetsSafe. vkFreeDescriptorSetsUnsafe :: VkDevice -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult -- | Success codes: VK_SUCCESS. -- --
--   VkResult vkFreeDescriptorSets
--       ( VkDevice device
--       , VkDescriptorPool descriptorPool
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       )
--   
-- -- vkFreeDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets
--   
-- -- Note: vkFreeDescriptorSetsUnsafe and -- vkFreeDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFreeDescriptorSets is an alias of -- vkFreeDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFreeDescriptorSetsSafe. vkFreeDescriptorSetsSafe :: VkDevice -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult type VkUpdateDescriptorSets = "vkUpdateDescriptorSets" pattern VkUpdateDescriptorSets :: CString -- |
--   void vkUpdateDescriptorSets
--       ( VkDevice device
--       , uint32_t descriptorWriteCount
--       , const VkWriteDescriptorSet* pDescriptorWrites
--       , uint32_t descriptorCopyCount
--       , const VkCopyDescriptorSet* pDescriptorCopies
--       )
--   
-- -- vkUpdateDescriptorSets registry at www.khronos.org type HS_vkUpdateDescriptorSets = VkDevice " device" -> Word32 " descriptorWriteCount" -> Ptr VkWriteDescriptorSet " pDescriptorWrites" -> Word32 " descriptorCopyCount" -> Ptr VkCopyDescriptorSet " pDescriptorCopies" -> IO () type PFN_vkUpdateDescriptorSets = FunPtr HS_vkUpdateDescriptorSets -- |
--   void vkUpdateDescriptorSets
--       ( VkDevice device
--       , uint32_t descriptorWriteCount
--       , const VkWriteDescriptorSet* pDescriptorWrites
--       , uint32_t descriptorCopyCount
--       , const VkCopyDescriptorSet* pDescriptorCopies
--       )
--   
-- -- vkUpdateDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets
--   
-- -- Note: vkUpdateDescriptorSetsUnsafe and -- vkUpdateDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkUpdateDescriptorSets is an alias of -- vkUpdateDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUpdateDescriptorSetsSafe. vkUpdateDescriptorSets :: VkDevice -> Word32 -> Ptr VkWriteDescriptorSet -> Word32 -> Ptr VkCopyDescriptorSet -> IO () -- |
--   void vkUpdateDescriptorSets
--       ( VkDevice device
--       , uint32_t descriptorWriteCount
--       , const VkWriteDescriptorSet* pDescriptorWrites
--       , uint32_t descriptorCopyCount
--       , const VkCopyDescriptorSet* pDescriptorCopies
--       )
--   
-- -- vkUpdateDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets
--   
-- -- Note: vkUpdateDescriptorSetsUnsafe and -- vkUpdateDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkUpdateDescriptorSets is an alias of -- vkUpdateDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUpdateDescriptorSetsSafe. vkUpdateDescriptorSetsUnsafe :: VkDevice -> Word32 -> Ptr VkWriteDescriptorSet -> Word32 -> Ptr VkCopyDescriptorSet -> IO () -- |
--   void vkUpdateDescriptorSets
--       ( VkDevice device
--       , uint32_t descriptorWriteCount
--       , const VkWriteDescriptorSet* pDescriptorWrites
--       , uint32_t descriptorCopyCount
--       , const VkCopyDescriptorSet* pDescriptorCopies
--       )
--   
-- -- vkUpdateDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice
--   
-- -- or less efficient: -- --
--   myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets
--   
-- -- Note: vkUpdateDescriptorSetsUnsafe and -- vkUpdateDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkUpdateDescriptorSets is an alias of -- vkUpdateDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkUpdateDescriptorSetsSafe. vkUpdateDescriptorSetsSafe :: VkDevice -> Word32 -> Ptr VkWriteDescriptorSet -> Word32 -> Ptr VkCopyDescriptorSet -> IO () -- |
--   typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               maxInlineUniformBlockBindings;
--   } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
--   
-- -- VkDescriptorPoolInlineUniformBlockCreateInfoEXT registry at -- www.khronos.org type VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkStruct VkDescriptorPoolInlineUniformBlockCreateInfoEXT' -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       uint32_t                                           bindingCount;
--       const VkDescriptorBindingFlags* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfo;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfo registry at -- www.khronos.org type VkDescriptorSetLayoutBindingFlagsCreateInfo = VkStruct VkDescriptorSetLayoutBindingFlagsCreateInfo' -- | Alias for VkDescriptorSetLayoutBindingFlagsCreateInfo type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org type VkDescriptorSetLayoutSupport = VkStruct VkDescriptorSetLayoutSupport' -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
--       VkStructureType sType;
--       const void*                            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfo;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfo registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountAllocateInfo = VkStruct VkDescriptorSetVariableDescriptorCountAllocateInfo' -- | Alias for VkDescriptorSetVariableDescriptorCountAllocateInfo type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfo -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupport;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupport registry at -- www.khronos.org type VkDescriptorSetVariableDescriptorCountLayoutSupport = VkStruct VkDescriptorSetVariableDescriptorCountLayoutSupport' -- | Alias for VkDescriptorSetVariableDescriptorCountLayoutSupport type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupport -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       const void*                               pNext;
--       VkDescriptorUpdateTemplateCreateFlags    flags;
--       uint32_t                 descriptorUpdateEntryCount;
--       const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
--       VkDescriptorUpdateTemplateType templateType;
--       VkDescriptorSetLayout descriptorSetLayout;
--       VkPipelineBindPoint pipelineBindPoint;
--       VkPipelineLayoutpipelineLayout;
--       uint32_t set;
--   } VkDescriptorUpdateTemplateCreateInfo;
--   
-- -- VkDescriptorUpdateTemplateCreateInfo registry at -- www.khronos.org type VkDescriptorUpdateTemplateCreateInfo = VkStruct VkDescriptorUpdateTemplateCreateInfo' -- | Alias for VkDescriptorUpdateTemplateCreateInfo type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo -- |
--   typedef struct VkDescriptorUpdateTemplateEntry {
--       uint32_t                         dstBinding;
--       uint32_t                         dstArrayElement;
--       uint32_t                         descriptorCount;
--       VkDescriptorType                 descriptorType;
--       size_t                           offset;
--       size_t                           stride;
--   } VkDescriptorUpdateTemplateEntry;
--   
-- -- VkDescriptorUpdateTemplateEntry registry at www.khronos.org type VkDescriptorUpdateTemplateEntry = VkStruct VkDescriptorUpdateTemplateEntry' -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry -- |
--   typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               dataSize;
--       const void* pData;
--   } VkWriteDescriptorSetInlineUniformBlockEXT;
--   
-- -- VkWriteDescriptorSetInlineUniformBlockEXT registry at -- www.khronos.org type VkWriteDescriptorSetInlineUniformBlockEXT = VkStruct VkWriteDescriptorSetInlineUniformBlockEXT' -- |
--   typedef struct VkAttachmentDescription {
--       VkAttachmentDescriptionFlags flags;
--       VkFormat               format;
--       VkSampleCountFlagBits  samples;
--       VkAttachmentLoadOp     loadOp;
--       VkAttachmentStoreOp    storeOp;
--       VkAttachmentLoadOp     stencilLoadOp;
--       VkAttachmentStoreOp    stencilStoreOp;
--       VkImageLayout          initialLayout;
--       VkImageLayout          finalLayout;
--   } VkAttachmentDescription;
--   
-- -- VkAttachmentDescription registry at www.khronos.org type VkAttachmentDescription = VkStruct VkAttachmentDescription' newtype VkAttachmentDescriptionBitmask (a :: FlagType) VkAttachmentDescriptionBitmask :: VkFlags -> VkAttachmentDescriptionBitmask (a :: FlagType) pattern VkAttachmentDescriptionFlagBits :: VkFlags -> VkAttachmentDescriptionBitmask FlagBit pattern VkAttachmentDescriptionFlags :: VkFlags -> VkAttachmentDescriptionBitmask FlagMask -- | The attachment may alias physical memory of another attachment in the -- same render pass -- -- bitpos = 0 pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: VkAttachmentDescriptionBitmask a -- | type = enum -- -- VkAttachmentLoadOp registry at www.khronos.org newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp -- | type = enum -- -- VkAttachmentStoreOp registry at www.khronos.org newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp type VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionBitmask FlagBit type VkAttachmentDescriptionFlags = VkAttachmentDescriptionBitmask FlagMask -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org type VkAttachmentReference = VkStruct VkAttachmentReference' newtype VkDependencyBitmask (a :: FlagType) VkDependencyBitmask :: VkFlags -> VkDependencyBitmask (a :: FlagType) pattern VkDependencyFlagBits :: VkFlags -> VkDependencyBitmask FlagBit pattern VkDependencyFlags :: VkFlags -> VkDependencyBitmask FlagMask -- | Dependency is per pixel region -- -- bitpos = 0 pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a type VkDependencyFlagBits = VkDependencyBitmask FlagBit type VkDependencyFlags = VkDependencyBitmask FlagMask newtype VkFramebufferCreateBitmask (a :: FlagType) VkFramebufferCreateBitmask :: VkFlags -> VkFramebufferCreateBitmask (a :: FlagType) pattern VkFramebufferCreateFlagBits :: VkFlags -> VkFramebufferCreateBitmask FlagBit pattern VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateBitmask FlagMask type VkFramebufferCreateFlagBits = VkFramebufferCreateBitmask FlagBit type VkFramebufferCreateFlags = VkFramebufferCreateBitmask FlagMask -- |
--   typedef struct VkFramebufferCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFramebufferCreateFlags    flags;
--       VkRenderPass           renderPass;
--       uint32_t               attachmentCount;
--       const VkImageView*     pAttachments;
--       uint32_t               width;
--       uint32_t               height;
--       uint32_t               layers;
--   } VkFramebufferCreateInfo;
--   
-- -- VkFramebufferCreateInfo registry at www.khronos.org type VkFramebufferCreateInfo = VkStruct VkFramebufferCreateInfo' newtype VkRenderPassCreateBitmask (a :: FlagType) VkRenderPassCreateBitmask :: VkFlags -> VkRenderPassCreateBitmask (a :: FlagType) pattern VkRenderPassCreateFlagBits :: VkFlags -> VkRenderPassCreateBitmask FlagBit pattern VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateBitmask FlagMask type VkRenderPassCreateFlagBits = VkRenderPassCreateBitmask FlagBit type VkRenderPassCreateFlags = VkRenderPassCreateBitmask FlagMask -- |
--   typedef struct VkRenderPassCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPassCreateFlags flags;
--       uint32_t   attachmentCount;
--       const VkAttachmentDescription* pAttachments;
--       uint32_t               subpassCount;
--       const VkSubpassDescription* pSubpasses;
--       uint32_t       dependencyCount;
--       const VkSubpassDependency* pDependencies;
--   } VkRenderPassCreateInfo;
--   
-- -- VkRenderPassCreateInfo registry at www.khronos.org type VkRenderPassCreateInfo = VkStruct VkRenderPassCreateInfo' -- |
--   typedef struct VkSubpassDependency {
--       uint32_t               srcSubpass;
--       uint32_t               dstSubpass;
--       VkPipelineStageFlags   srcStageMask;
--       VkPipelineStageFlags   dstStageMask;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--       VkDependencyFlags      dependencyFlags;
--   } VkSubpassDependency;
--   
-- -- VkSubpassDependency registry at www.khronos.org type VkSubpassDependency = VkStruct VkSubpassDependency' -- |
--   typedef struct VkSubpassDescription {
--       VkSubpassDescriptionFlags flags;
--       VkPipelineBindPoint    pipelineBindPoint;
--       uint32_t               inputAttachmentCount;
--       const VkAttachmentReference* pInputAttachments;
--       uint32_t               colorAttachmentCount;
--       const VkAttachmentReference* pColorAttachments;
--       const VkAttachmentReference* pResolveAttachments;
--       const VkAttachmentReference* pDepthStencilAttachment;
--       uint32_t               preserveAttachmentCount;
--       const uint32_t* pPreserveAttachments;
--   } VkSubpassDescription;
--   
-- -- VkSubpassDescription registry at www.khronos.org type VkSubpassDescription = VkStruct VkSubpassDescription' -- | type = enum -- -- VkSubpassContents registry at www.khronos.org newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS :: VkSubpassContents newtype VkSubpassDescriptionBitmask (a :: FlagType) VkSubpassDescriptionBitmask :: VkFlags -> VkSubpassDescriptionBitmask (a :: FlagType) pattern VkSubpassDescriptionFlagBits :: VkFlags -> VkSubpassDescriptionBitmask FlagBit pattern VkSubpassDescriptionFlags :: VkFlags -> VkSubpassDescriptionBitmask FlagMask type VkSubpassDescriptionFlagBits = VkSubpassDescriptionBitmask FlagBit type VkSubpassDescriptionFlags = VkSubpassDescriptionBitmask FlagMask type VkCreateFramebuffer = "vkCreateFramebuffer" pattern VkCreateFramebuffer :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFramebuffer
--       ( VkDevice device
--       , const VkFramebufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFramebuffer* pFramebuffer
--       )
--   
-- -- vkCreateFramebuffer registry at www.khronos.org type HS_vkCreateFramebuffer = VkDevice " device" -> Ptr VkFramebufferCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkFramebuffer " pFramebuffer" -> IO VkResult type PFN_vkCreateFramebuffer = FunPtr HS_vkCreateFramebuffer -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFramebuffer
--       ( VkDevice device
--       , const VkFramebufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFramebuffer* pFramebuffer
--       )
--   
-- -- vkCreateFramebuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice
--   
-- -- or less efficient: -- --
--   myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer
--   
-- -- Note: vkCreateFramebufferUnsafe and -- vkCreateFramebufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateFramebuffer is an alias of -- vkCreateFramebufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateFramebufferSafe. vkCreateFramebuffer :: VkDevice -> Ptr VkFramebufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFramebuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFramebuffer
--       ( VkDevice device
--       , const VkFramebufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFramebuffer* pFramebuffer
--       )
--   
-- -- vkCreateFramebuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice
--   
-- -- or less efficient: -- --
--   myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer
--   
-- -- Note: vkCreateFramebufferUnsafe and -- vkCreateFramebufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateFramebuffer is an alias of -- vkCreateFramebufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateFramebufferSafe. vkCreateFramebufferUnsafe :: VkDevice -> Ptr VkFramebufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFramebuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateFramebuffer
--       ( VkDevice device
--       , const VkFramebufferCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkFramebuffer* pFramebuffer
--       )
--   
-- -- vkCreateFramebuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice
--   
-- -- or less efficient: -- --
--   myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer
--   
-- -- Note: vkCreateFramebufferUnsafe and -- vkCreateFramebufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateFramebuffer is an alias of -- vkCreateFramebufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateFramebufferSafe. vkCreateFramebufferSafe :: VkDevice -> Ptr VkFramebufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFramebuffer -> IO VkResult type VkDestroyFramebuffer = "vkDestroyFramebuffer" pattern VkDestroyFramebuffer :: CString -- |
--   void vkDestroyFramebuffer
--       ( VkDevice device
--       , VkFramebuffer framebuffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFramebuffer registry at www.khronos.org type HS_vkDestroyFramebuffer = VkDevice " device" -> VkFramebuffer " framebuffer" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyFramebuffer = FunPtr HS_vkDestroyFramebuffer -- |
--   void vkDestroyFramebuffer
--       ( VkDevice device
--       , VkFramebuffer framebuffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFramebuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer
--   
-- -- Note: vkDestroyFramebufferUnsafe and -- vkDestroyFramebufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyFramebuffer is an alias of -- vkDestroyFramebufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyFramebufferSafe. vkDestroyFramebuffer :: VkDevice -> VkFramebuffer -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyFramebuffer
--       ( VkDevice device
--       , VkFramebuffer framebuffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFramebuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer
--   
-- -- Note: vkDestroyFramebufferUnsafe and -- vkDestroyFramebufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyFramebuffer is an alias of -- vkDestroyFramebufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyFramebufferSafe. vkDestroyFramebufferUnsafe :: VkDevice -> VkFramebuffer -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyFramebuffer
--       ( VkDevice device
--       , VkFramebuffer framebuffer
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyFramebuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer
--   
-- -- Note: vkDestroyFramebufferUnsafe and -- vkDestroyFramebufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyFramebuffer is an alias of -- vkDestroyFramebufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyFramebufferSafe. vkDestroyFramebufferSafe :: VkDevice -> VkFramebuffer -> Ptr VkAllocationCallbacks -> IO () type VkCreateRenderPass = "vkCreateRenderPass" pattern VkCreateRenderPass :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass
--       ( VkDevice device
--       , const VkRenderPassCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass registry at www.khronos.org type HS_vkCreateRenderPass = VkDevice " device" -> Ptr VkRenderPassCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkRenderPass " pRenderPass" -> IO VkResult type PFN_vkCreateRenderPass = FunPtr HS_vkCreateRenderPass -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass
--       ( VkDevice device
--       , const VkRenderPassCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice
--   
-- -- or less efficient: -- --
--   myCreateRenderPass <- vkGetProc @VkCreateRenderPass
--   
-- -- Note: vkCreateRenderPassUnsafe and -- vkCreateRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateRenderPass is an alias of -- vkCreateRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateRenderPassSafe. vkCreateRenderPass :: VkDevice -> Ptr VkRenderPassCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass
--       ( VkDevice device
--       , const VkRenderPassCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice
--   
-- -- or less efficient: -- --
--   myCreateRenderPass <- vkGetProc @VkCreateRenderPass
--   
-- -- Note: vkCreateRenderPassUnsafe and -- vkCreateRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateRenderPass is an alias of -- vkCreateRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateRenderPassSafe. vkCreateRenderPassUnsafe :: VkDevice -> Ptr VkRenderPassCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateRenderPass
--       ( VkDevice device
--       , const VkRenderPassCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkRenderPass* pRenderPass
--       )
--   
-- -- vkCreateRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice
--   
-- -- or less efficient: -- --
--   myCreateRenderPass <- vkGetProc @VkCreateRenderPass
--   
-- -- Note: vkCreateRenderPassUnsafe and -- vkCreateRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateRenderPass is an alias of -- vkCreateRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateRenderPassSafe. vkCreateRenderPassSafe :: VkDevice -> Ptr VkRenderPassCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult type VkDestroyRenderPass = "vkDestroyRenderPass" pattern VkDestroyRenderPass :: CString -- |
--   void vkDestroyRenderPass
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyRenderPass registry at www.khronos.org type HS_vkDestroyRenderPass = VkDevice " device" -> VkRenderPass " renderPass" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyRenderPass = FunPtr HS_vkDestroyRenderPass -- |
--   void vkDestroyRenderPass
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass
--   
-- -- Note: vkDestroyRenderPassUnsafe and -- vkDestroyRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyRenderPass is an alias of -- vkDestroyRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyRenderPassSafe. vkDestroyRenderPass :: VkDevice -> VkRenderPass -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyRenderPass
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass
--   
-- -- Note: vkDestroyRenderPassUnsafe and -- vkDestroyRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyRenderPass is an alias of -- vkDestroyRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyRenderPassSafe. vkDestroyRenderPassUnsafe :: VkDevice -> VkRenderPass -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyRenderPass
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass
--   
-- -- Note: vkDestroyRenderPassUnsafe and -- vkDestroyRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyRenderPass is an alias of -- vkDestroyRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyRenderPassSafe. vkDestroyRenderPassSafe :: VkDevice -> VkRenderPass -> Ptr VkAllocationCallbacks -> IO () type VkGetRenderAreaGranularity = "vkGetRenderAreaGranularity" pattern VkGetRenderAreaGranularity :: CString -- |
--   void vkGetRenderAreaGranularity
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , VkExtent2D* pGranularity
--       )
--   
-- -- vkGetRenderAreaGranularity registry at www.khronos.org type HS_vkGetRenderAreaGranularity = VkDevice " device" -> VkRenderPass " renderPass" -> Ptr VkExtent2D " pGranularity" -> IO () type PFN_vkGetRenderAreaGranularity = FunPtr HS_vkGetRenderAreaGranularity -- |
--   void vkGetRenderAreaGranularity
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , VkExtent2D* pGranularity
--       )
--   
-- -- vkGetRenderAreaGranularity registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice
--   
-- -- or less efficient: -- --
--   myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity
--   
-- -- Note: vkGetRenderAreaGranularityUnsafe and -- vkGetRenderAreaGranularitySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetRenderAreaGranularity is an alias of -- vkGetRenderAreaGranularityUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetRenderAreaGranularitySafe. vkGetRenderAreaGranularity :: VkDevice -> VkRenderPass -> Ptr VkExtent2D -> IO () -- |
--   void vkGetRenderAreaGranularity
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , VkExtent2D* pGranularity
--       )
--   
-- -- vkGetRenderAreaGranularity registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice
--   
-- -- or less efficient: -- --
--   myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity
--   
-- -- Note: vkGetRenderAreaGranularityUnsafe and -- vkGetRenderAreaGranularitySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetRenderAreaGranularity is an alias of -- vkGetRenderAreaGranularityUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetRenderAreaGranularitySafe. vkGetRenderAreaGranularityUnsafe :: VkDevice -> VkRenderPass -> Ptr VkExtent2D -> IO () -- |
--   void vkGetRenderAreaGranularity
--       ( VkDevice device
--       , VkRenderPass renderPass
--       , VkExtent2D* pGranularity
--       )
--   
-- -- vkGetRenderAreaGranularity registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice
--   
-- -- or less efficient: -- --
--   myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity
--   
-- -- Note: vkGetRenderAreaGranularityUnsafe and -- vkGetRenderAreaGranularitySafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkGetRenderAreaGranularity is an alias of -- vkGetRenderAreaGranularityUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkGetRenderAreaGranularitySafe. vkGetRenderAreaGranularitySafe :: VkDevice -> VkRenderPass -> Ptr VkExtent2D -> IO () -- |
--   typedef struct VkAttachmentDescription2 {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAttachmentDescriptionFlags flags;
--       VkFormat                                     format;
--       VkSampleCountFlagBits                        samples;
--       VkAttachmentLoadOp                           loadOp;
--       VkAttachmentStoreOp                          storeOp;
--       VkAttachmentLoadOp                           stencilLoadOp;
--       VkAttachmentStoreOp                          stencilStoreOp;
--       VkImageLayout                                initialLayout;
--       VkImageLayout                                finalLayout;
--   } VkAttachmentDescription2;
--   
-- -- VkAttachmentDescription2 registry at www.khronos.org type VkAttachmentDescription2 = VkStruct VkAttachmentDescription2' -- | Alias for VkAttachmentDescription2 type VkAttachmentDescription2KHR = VkAttachmentDescription2 -- |
--   typedef struct VkAttachmentDescriptionStencilLayout {
--       VkStructureTypesType;
--       void*    pNext;
--       VkImageLayout                  stencilInitialLayout;
--       VkImageLayout                  stencilFinalLayout;
--   } VkAttachmentDescriptionStencilLayout;
--   
-- -- VkAttachmentDescriptionStencilLayout registry at -- www.khronos.org type VkAttachmentDescriptionStencilLayout = VkStruct VkAttachmentDescriptionStencilLayout' -- | Alias for VkAttachmentDescriptionStencilLayout type VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout -- |
--   typedef struct VkAttachmentReference2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          attachment;
--       VkImageLayout                     layout;
--       VkImageAspectFlags aspectMask;
--   } VkAttachmentReference2;
--   
-- -- VkAttachmentReference2 registry at www.khronos.org type VkAttachmentReference2 = VkStruct VkAttachmentReference2' -- | Alias for VkAttachmentReference2 type VkAttachmentReference2KHR = VkAttachmentReference2 -- |
--   typedef struct VkAttachmentReferenceStencilLayout {
--       VkStructureTypesType;
--       void*    pNext;
--       VkImageLayout                  stencilLayout;
--   } VkAttachmentReferenceStencilLayout;
--   
-- -- VkAttachmentReferenceStencilLayout registry at www.khronos.org type VkAttachmentReferenceStencilLayout = VkStruct VkAttachmentReferenceStencilLayout' -- | Alias for VkAttachmentReferenceStencilLayout type VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout -- |
--   typedef struct VkAttachmentSampleLocationsEXT {
--       uint32_t                         attachmentIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkAttachmentSampleLocationsEXT;
--   
-- -- VkAttachmentSampleLocationsEXT registry at www.khronos.org type VkAttachmentSampleLocationsEXT = VkStruct VkAttachmentSampleLocationsEXT' -- |
--   typedef struct VkFramebufferAttachmentImageInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       VkImageCreateFlags       flags;
--       VkImageUsageFlags                        usage;
--       uint32_t                                 width;
--       uint32_t                                 height;
--       uint32_t                                 layerCount;
--       uint32_t                 viewFormatCount;
--       const VkFormat*    pViewFormats;
--   } VkFramebufferAttachmentImageInfo;
--   
-- -- VkFramebufferAttachmentImageInfo registry at www.khronos.org type VkFramebufferAttachmentImageInfo = VkStruct VkFramebufferAttachmentImageInfo' -- | Alias for VkFramebufferAttachmentImageInfo type VkFramebufferAttachmentImageInfoKHR = VkFramebufferAttachmentImageInfo -- |
--   typedef struct VkFramebufferAttachmentsCreateInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       uint32_t                 attachmentImageInfoCount;
--       const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
--   } VkFramebufferAttachmentsCreateInfo;
--   
-- -- VkFramebufferAttachmentsCreateInfo registry at www.khronos.org type VkFramebufferAttachmentsCreateInfo = VkStruct VkFramebufferAttachmentsCreateInfo' -- | Alias for VkFramebufferAttachmentsCreateInfo type VkFramebufferAttachmentsCreateInfoKHR = VkFramebufferAttachmentsCreateInfo -- |
--   typedef struct VkFramebufferMixedSamplesCombinationNV {
--       VkStructureType sType;
--       void*                      pNext;
--       VkCoverageReductionModeNV  coverageReductionMode;
--       VkSampleCountFlagBits      rasterizationSamples;
--       VkSampleCountFlags         depthStencilSamples;
--       VkSampleCountFlags         colorSamples;
--   } VkFramebufferMixedSamplesCombinationNV;
--   
-- -- VkFramebufferMixedSamplesCombinationNV registry at -- www.khronos.org type VkFramebufferMixedSamplesCombinationNV = VkStruct VkFramebufferMixedSamplesCombinationNV' -- |
--   typedef struct VkRenderPassAttachmentBeginInfo {
--       VkStructureType sType;
--       const void*                              pNext;
--       uint32_t                 attachmentCount;
--       const VkImageView* pAttachments;
--   } VkRenderPassAttachmentBeginInfo;
--   
-- -- VkRenderPassAttachmentBeginInfo registry at www.khronos.org type VkRenderPassAttachmentBeginInfo = VkStruct VkRenderPassAttachmentBeginInfo' -- | Alias for VkRenderPassAttachmentBeginInfo type VkRenderPassAttachmentBeginInfoKHR = VkRenderPassAttachmentBeginInfo -- |
--   typedef struct VkRenderPassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass           renderPass;
--       VkFramebuffer          framebuffer;
--       VkRect2D               renderArea;
--       uint32_t               clearValueCount;
--       const VkClearValue*    pClearValues;
--   } VkRenderPassBeginInfo;
--   
-- -- VkRenderPassBeginInfo registry at www.khronos.org type VkRenderPassBeginInfo = VkStruct VkRenderPassBeginInfo' -- |
--   typedef struct VkRenderPassCreateInfo2 {
--       VkStructureType sType;
--       const void*                                              pNext;
--       VkRenderPassCreateFlags                  flags;
--       uint32_t                                 attachmentCount;
--       const VkAttachmentDescription2*    pAttachments;
--       uint32_t                                                 subpassCount;
--       const VkSubpassDescription2*          pSubpasses;
--       uint32_t                                 dependencyCount;
--       const VkSubpassDependency2*        pDependencies;
--       uint32_t                                 correlatedViewMaskCount;
--       const uint32_t*            pCorrelatedViewMasks;
--   } VkRenderPassCreateInfo2;
--   
-- -- VkRenderPassCreateInfo2 registry at www.khronos.org type VkRenderPassCreateInfo2 = VkStruct VkRenderPassCreateInfo2' -- | Alias for VkRenderPassCreateInfo2 type VkRenderPassCreateInfo2KHR = VkRenderPassCreateInfo2 -- |
--   typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkAttachmentReference            fragmentDensityMapAttachment;
--   } VkRenderPassFragmentDensityMapCreateInfoEXT;
--   
-- -- VkRenderPassFragmentDensityMapCreateInfoEXT registry at -- www.khronos.org type VkRenderPassFragmentDensityMapCreateInfoEXT = VkStruct VkRenderPassFragmentDensityMapCreateInfoEXT' -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org type VkRenderPassInputAttachmentAspectCreateInfo = VkStruct VkRenderPassInputAttachmentAspectCreateInfo' -- | Alias for VkRenderPassInputAttachmentAspectCreateInfo type VkRenderPassInputAttachmentAspectCreateInfoKHR = VkRenderPassInputAttachmentAspectCreateInfo -- |
--   typedef struct VkRenderPassMultiviewCreateInfo {
--       VkStructureType        sType;
--       const void*            pNext;
--       uint32_t               subpassCount;
--       const uint32_t*     pViewMasks;
--       uint32_t               dependencyCount;
--       const int32_t*   pViewOffsets;
--       uint32_t               correlationMaskCount;
--       const uint32_t* pCorrelationMasks;
--   } VkRenderPassMultiviewCreateInfo;
--   
-- -- VkRenderPassMultiviewCreateInfo registry at www.khronos.org type VkRenderPassMultiviewCreateInfo = VkStruct VkRenderPassMultiviewCreateInfo' -- | Alias for VkRenderPassMultiviewCreateInfo type VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo -- |
--   typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         attachmentInitialSampleLocationsCount;
--       const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
--       uint32_t         postSubpassSampleLocationsCount;
--       const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
--   } VkRenderPassSampleLocationsBeginInfoEXT;
--   
-- -- VkRenderPassSampleLocationsBeginInfoEXT registry at -- www.khronos.org type VkRenderPassSampleLocationsBeginInfoEXT = VkStruct VkRenderPassSampleLocationsBeginInfoEXT' -- |
--   typedef struct VkRenderPassTransformBeginInfoQCOM {
--       VkStructureType sType;
--       void*                           pNext;
--       VkSurfaceTransformFlagBitsKHR   transform;
--   } VkRenderPassTransformBeginInfoQCOM;
--   
-- -- VkRenderPassTransformBeginInfoQCOM registry at www.khronos.org type VkRenderPassTransformBeginInfoQCOM = VkStruct VkRenderPassTransformBeginInfoQCOM' -- |
--   typedef struct VkSubpassBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSubpassContents      contents;
--   } VkSubpassBeginInfo;
--   
-- -- VkSubpassBeginInfo registry at www.khronos.org type VkSubpassBeginInfo = VkStruct VkSubpassBeginInfo' -- | Alias for VkSubpassBeginInfo type VkSubpassBeginInfoKHR = VkSubpassBeginInfo -- |
--   typedef struct VkSubpassDependency2 {
--       VkStructureType sType;
--       const void* pNext;
--       uint32_t                          srcSubpass;
--       uint32_t                          dstSubpass;
--       VkPipelineStageFlags              srcStageMask;
--       VkPipelineStageFlags              dstStageMask;
--       VkAccessFlags     srcAccessMask;
--       VkAccessFlags     dstAccessMask;
--       VkDependencyFlags dependencyFlags;
--       int32_t           viewOffset;
--   } VkSubpassDependency2;
--   
-- -- VkSubpassDependency2 registry at www.khronos.org type VkSubpassDependency2 = VkStruct VkSubpassDependency2' -- | Alias for VkSubpassDependency2 type VkSubpassDependency2KHR = VkSubpassDependency2 -- |
--   typedef struct VkSubpassDescription2 {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkSubpassDescriptionFlags                   flags;
--       VkPipelineBindPoint                                         pipelineBindPoint;
--       uint32_t                                                    viewMask;
--       uint32_t                                    inputAttachmentCount;
--       const VkAttachmentReference2*    pInputAttachments;
--       uint32_t                                    colorAttachmentCount;
--       const VkAttachmentReference2*    pColorAttachments;
--       const VkAttachmentReference2* pResolveAttachments;
--       const VkAttachmentReference2*               pDepthStencilAttachment;
--       uint32_t                                    preserveAttachmentCount;
--       const uint32_t*               pPreserveAttachments;
--   } VkSubpassDescription2;
--   
-- -- VkSubpassDescription2 registry at www.khronos.org type VkSubpassDescription2 = VkStruct VkSubpassDescription2' -- | Alias for VkSubpassDescription2 type VkSubpassDescription2KHR = VkSubpassDescription2 -- |
--   typedef struct VkSubpassDescriptionDepthStencilResolve {
--       VkStructureType sType;
--       const void*                                              pNext;
--       VkResolveModeFlagBits                                    depthResolveMode;
--       VkResolveModeFlagBits                                    stencilResolveMode;
--       const VkAttachmentReference2*            pDepthStencilResolveAttachment;
--   } VkSubpassDescriptionDepthStencilResolve;
--   
-- -- VkSubpassDescriptionDepthStencilResolve registry at -- www.khronos.org type VkSubpassDescriptionDepthStencilResolve = VkStruct VkSubpassDescriptionDepthStencilResolve' -- | Alias for VkSubpassDescriptionDepthStencilResolve type VkSubpassDescriptionDepthStencilResolveKHR = VkSubpassDescriptionDepthStencilResolve -- |
--   typedef struct VkSubpassEndInfo {
--       VkStructureType sType;
--       const void*            pNext;
--   } VkSubpassEndInfo;
--   
-- -- VkSubpassEndInfo registry at www.khronos.org type VkSubpassEndInfo = VkStruct VkSubpassEndInfo' -- | Alias for VkSubpassEndInfo type VkSubpassEndInfoKHR = VkSubpassEndInfo -- |
--   typedef struct VkSubpassSampleLocationsEXT {
--       uint32_t                         subpassIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkSubpassSampleLocationsEXT;
--   
-- -- VkSubpassSampleLocationsEXT registry at www.khronos.org type VkSubpassSampleLocationsEXT = VkStruct VkSubpassSampleLocationsEXT' -- | type = enum -- -- VkCommandBufferLevel registry at www.khronos.org newtype VkCommandBufferLevel VkCommandBufferLevel :: Int32 -> VkCommandBufferLevel pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY :: VkCommandBufferLevel pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY :: VkCommandBufferLevel newtype VkCommandBufferResetBitmask (a :: FlagType) VkCommandBufferResetBitmask :: VkFlags -> VkCommandBufferResetBitmask (a :: FlagType) pattern VkCommandBufferResetFlagBits :: VkFlags -> VkCommandBufferResetBitmask FlagBit pattern VkCommandBufferResetFlags :: VkFlags -> VkCommandBufferResetBitmask FlagMask -- | Release resources owned by the buffer -- -- bitpos = 0 pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT :: VkCommandBufferResetBitmask a newtype VkCommandBufferUsageBitmask (a :: FlagType) VkCommandBufferUsageBitmask :: VkFlags -> VkCommandBufferUsageBitmask (a :: FlagType) pattern VkCommandBufferUsageFlagBits :: VkFlags -> VkCommandBufferUsageBitmask FlagBit pattern VkCommandBufferUsageFlags :: VkFlags -> VkCommandBufferUsageBitmask FlagMask -- | bitpos = 0 pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT :: VkCommandBufferUsageBitmask a -- | bitpos = 1 pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT :: VkCommandBufferUsageBitmask a -- | Command buffer may be submitted/executed more than once simultaneously -- -- bitpos = 2 pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT :: VkCommandBufferUsageBitmask a newtype VkCommandPoolCreateBitmask (a :: FlagType) VkCommandPoolCreateBitmask :: VkFlags -> VkCommandPoolCreateBitmask (a :: FlagType) pattern VkCommandPoolCreateFlagBits :: VkFlags -> VkCommandPoolCreateBitmask FlagBit pattern VkCommandPoolCreateFlags :: VkFlags -> VkCommandPoolCreateBitmask FlagMask -- | Command buffers have a short lifetime -- -- bitpos = 0 pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT :: VkCommandPoolCreateBitmask a -- | Command buffers may release their memory individually -- -- bitpos = 1 pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT :: VkCommandPoolCreateBitmask a newtype VkCommandPoolResetBitmask (a :: FlagType) VkCommandPoolResetBitmask :: VkFlags -> VkCommandPoolResetBitmask (a :: FlagType) pattern VkCommandPoolResetFlagBits :: VkFlags -> VkCommandPoolResetBitmask FlagBit pattern VkCommandPoolResetFlags :: VkFlags -> VkCommandPoolResetBitmask FlagMask -- | Release resources owned by the pool -- -- bitpos = 0 pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: VkCommandPoolResetBitmask a type VkCommandBufferResetFlagBits = VkCommandBufferResetBitmask FlagBit type VkCommandBufferResetFlags = VkCommandBufferResetBitmask FlagMask type VkCommandBufferUsageFlagBits = VkCommandBufferUsageBitmask FlagBit type VkCommandBufferUsageFlags = VkCommandBufferUsageBitmask FlagMask type VkCommandPoolCreateFlagBits = VkCommandPoolCreateBitmask FlagBit type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask type VkCommandPoolResetFlagBits = VkCommandPoolResetBitmask FlagBit type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask -- |
--   typedef struct VkCommandPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandPoolCreateFlags   flags;
--       uint32_t               queueFamilyIndex;
--   } VkCommandPoolCreateInfo;
--   
-- -- VkCommandPoolCreateInfo registry at www.khronos.org type VkCommandPoolCreateInfo = VkStruct VkCommandPoolCreateInfo' type VkCreateCommandPool = "vkCreateCommandPool" pattern VkCreateCommandPool :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateCommandPool
--       ( VkDevice device
--       , const VkCommandPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkCommandPool* pCommandPool
--       )
--   
-- -- vkCreateCommandPool registry at www.khronos.org type HS_vkCreateCommandPool = VkDevice " device" -> Ptr VkCommandPoolCreateInfo " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkCommandPool " pCommandPool" -> IO VkResult type PFN_vkCreateCommandPool = FunPtr HS_vkCreateCommandPool -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateCommandPool
--       ( VkDevice device
--       , const VkCommandPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkCommandPool* pCommandPool
--       )
--   
-- -- vkCreateCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateCommandPool <- vkGetProc @VkCreateCommandPool
--   
-- -- Note: vkCreateCommandPoolUnsafe and -- vkCreateCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateCommandPool is an alias of -- vkCreateCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateCommandPoolSafe. vkCreateCommandPool :: VkDevice -> Ptr VkCommandPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkCommandPool -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateCommandPool
--       ( VkDevice device
--       , const VkCommandPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkCommandPool* pCommandPool
--       )
--   
-- -- vkCreateCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateCommandPool <- vkGetProc @VkCreateCommandPool
--   
-- -- Note: vkCreateCommandPoolUnsafe and -- vkCreateCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateCommandPool is an alias of -- vkCreateCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateCommandPoolSafe. vkCreateCommandPoolUnsafe :: VkDevice -> Ptr VkCommandPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkCommandPool -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateCommandPool
--       ( VkDevice device
--       , const VkCommandPoolCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkCommandPool* pCommandPool
--       )
--   
-- -- vkCreateCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myCreateCommandPool <- vkGetProc @VkCreateCommandPool
--   
-- -- Note: vkCreateCommandPoolUnsafe and -- vkCreateCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateCommandPool is an alias of -- vkCreateCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCreateCommandPoolSafe. vkCreateCommandPoolSafe :: VkDevice -> Ptr VkCommandPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkCommandPool -> IO VkResult type VkDestroyCommandPool = "vkDestroyCommandPool" pattern VkDestroyCommandPool :: CString -- |
--   void vkDestroyCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyCommandPool registry at www.khronos.org type HS_vkDestroyCommandPool = VkDevice " device" -> VkCommandPool " commandPool" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyCommandPool = FunPtr HS_vkDestroyCommandPool -- |
--   void vkDestroyCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool
--   
-- -- Note: vkDestroyCommandPoolUnsafe and -- vkDestroyCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyCommandPool is an alias of -- vkDestroyCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyCommandPoolSafe. vkDestroyCommandPool :: VkDevice -> VkCommandPool -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool
--   
-- -- Note: vkDestroyCommandPoolUnsafe and -- vkDestroyCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyCommandPool is an alias of -- vkDestroyCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyCommandPoolSafe. vkDestroyCommandPoolUnsafe :: VkDevice -> VkCommandPool -> Ptr VkAllocationCallbacks -> IO () -- |
--   void vkDestroyCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool
--   
-- -- Note: vkDestroyCommandPoolUnsafe and -- vkDestroyCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkDestroyCommandPool is an alias of -- vkDestroyCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkDestroyCommandPoolSafe. vkDestroyCommandPoolSafe :: VkDevice -> VkCommandPool -> Ptr VkAllocationCallbacks -> IO () type VkResetCommandPool = "vkResetCommandPool" pattern VkResetCommandPool :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolResetFlags flags
--       )
--   
-- -- vkResetCommandPool registry at www.khronos.org type HS_vkResetCommandPool = VkDevice " device" -> VkCommandPool " commandPool" -> VkCommandPoolResetFlags " flags" -> IO VkResult type PFN_vkResetCommandPool = FunPtr HS_vkResetCommandPool -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolResetFlags flags
--       )
--   
-- -- vkResetCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetCommandPool <- vkGetProc @VkResetCommandPool
--   
-- -- Note: vkResetCommandPoolUnsafe and -- vkResetCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetCommandPool is an alias of -- vkResetCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetCommandPoolSafe. vkResetCommandPool :: VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolResetFlags flags
--       )
--   
-- -- vkResetCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetCommandPool <- vkGetProc @VkResetCommandPool
--   
-- -- Note: vkResetCommandPoolUnsafe and -- vkResetCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetCommandPool is an alias of -- vkResetCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetCommandPoolSafe. vkResetCommandPoolUnsafe :: VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandPool
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , VkCommandPoolResetFlags flags
--       )
--   
-- -- vkResetCommandPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice
--   
-- -- or less efficient: -- --
--   myResetCommandPool <- vkGetProc @VkResetCommandPool
--   
-- -- Note: vkResetCommandPoolUnsafe and -- vkResetCommandPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetCommandPool is an alias of -- vkResetCommandPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetCommandPoolSafe. vkResetCommandPoolSafe :: VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult -- |
--   typedef struct VkCommandBufferAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandPool          commandPool;
--       VkCommandBufferLevel   level;
--       uint32_t               commandBufferCount;
--   } VkCommandBufferAllocateInfo;
--   
-- -- VkCommandBufferAllocateInfo registry at www.khronos.org type VkCommandBufferAllocateInfo = VkStruct VkCommandBufferAllocateInfo' -- |
--   typedef struct VkCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandBufferUsageFlags  flags;
--       const VkCommandBufferInheritanceInfo*       pInheritanceInfo;
--   } VkCommandBufferBeginInfo;
--   
-- -- VkCommandBufferBeginInfo registry at www.khronos.org type VkCommandBufferBeginInfo = VkStruct VkCommandBufferBeginInfo' -- |
--   typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkBool32                            conditionalRenderingEnable;
--   } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
--   
-- -- VkCommandBufferInheritanceConditionalRenderingInfoEXT registry at -- www.khronos.org type VkCommandBufferInheritanceConditionalRenderingInfoEXT = VkStruct VkCommandBufferInheritanceConditionalRenderingInfoEXT' -- |
--   typedef struct VkCommandBufferInheritanceInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRenderPass    renderPass;
--       uint32_t               subpass;
--       VkFramebuffer   framebuffer;
--       VkBool32               occlusionQueryEnable;
--       VkQueryControlFlags    queryFlags;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkCommandBufferInheritanceInfo;
--   
-- -- VkCommandBufferInheritanceInfo registry at www.khronos.org type VkCommandBufferInheritanceInfo = VkStruct VkCommandBufferInheritanceInfo' -- |
--   typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
--       VkStructureType sType;
--       void*                           pNext;
--       VkSurfaceTransformFlagBitsKHR   transform;
--       VkRect2D                        renderArea;
--   } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
--   
-- -- VkCommandBufferInheritanceRenderPassTransformInfoQCOM registry at -- www.khronos.org type VkCommandBufferInheritanceRenderPassTransformInfoQCOM = VkStruct VkCommandBufferInheritanceRenderPassTransformInfoQCOM' type VkAllocateCommandBuffers = "vkAllocateCommandBuffers" pattern VkAllocateCommandBuffers :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkAllocateCommandBuffers
--       ( VkDevice device
--       , const VkCommandBufferAllocateInfo* pAllocateInfo
--       , VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkAllocateCommandBuffers registry at www.khronos.org type HS_vkAllocateCommandBuffers = VkDevice " device" -> Ptr VkCommandBufferAllocateInfo " pAllocateInfo" -> Ptr VkCommandBuffer " pCommandBuffers" -> IO VkResult type PFN_vkAllocateCommandBuffers = FunPtr HS_vkAllocateCommandBuffers -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkAllocateCommandBuffers
--       ( VkDevice device
--       , const VkCommandBufferAllocateInfo* pAllocateInfo
--       , VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkAllocateCommandBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers
--   
-- -- Note: vkAllocateCommandBuffersUnsafe and -- vkAllocateCommandBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateCommandBuffers is an alias of -- vkAllocateCommandBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAllocateCommandBuffersSafe. vkAllocateCommandBuffers :: VkDevice -> Ptr VkCommandBufferAllocateInfo -> Ptr VkCommandBuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkAllocateCommandBuffers
--       ( VkDevice device
--       , const VkCommandBufferAllocateInfo* pAllocateInfo
--       , VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkAllocateCommandBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers
--   
-- -- Note: vkAllocateCommandBuffersUnsafe and -- vkAllocateCommandBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateCommandBuffers is an alias of -- vkAllocateCommandBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAllocateCommandBuffersSafe. vkAllocateCommandBuffersUnsafe :: VkDevice -> Ptr VkCommandBufferAllocateInfo -> Ptr VkCommandBuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkAllocateCommandBuffers
--       ( VkDevice device
--       , const VkCommandBufferAllocateInfo* pAllocateInfo
--       , VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkAllocateCommandBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice
--   
-- -- or less efficient: -- --
--   myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers
--   
-- -- Note: vkAllocateCommandBuffersUnsafe and -- vkAllocateCommandBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkAllocateCommandBuffers is an alias of -- vkAllocateCommandBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkAllocateCommandBuffersSafe. vkAllocateCommandBuffersSafe :: VkDevice -> Ptr VkCommandBufferAllocateInfo -> Ptr VkCommandBuffer -> IO VkResult type VkFreeCommandBuffers = "vkFreeCommandBuffers" pattern VkFreeCommandBuffers :: CString -- |
--   void vkFreeCommandBuffers
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkFreeCommandBuffers registry at www.khronos.org type HS_vkFreeCommandBuffers = VkDevice " device" -> VkCommandPool " commandPool" -> Word32 " commandBufferCount" -> Ptr VkCommandBuffer " pCommandBuffers" -> IO () type PFN_vkFreeCommandBuffers = FunPtr HS_vkFreeCommandBuffers -- |
--   void vkFreeCommandBuffers
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkFreeCommandBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice
--   
-- -- or less efficient: -- --
--   myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers
--   
-- -- Note: vkFreeCommandBuffersUnsafe and -- vkFreeCommandBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFreeCommandBuffers is an alias of -- vkFreeCommandBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFreeCommandBuffersSafe. vkFreeCommandBuffers :: VkDevice -> VkCommandPool -> Word32 -> Ptr VkCommandBuffer -> IO () -- |
--   void vkFreeCommandBuffers
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkFreeCommandBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice
--   
-- -- or less efficient: -- --
--   myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers
--   
-- -- Note: vkFreeCommandBuffersUnsafe and -- vkFreeCommandBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFreeCommandBuffers is an alias of -- vkFreeCommandBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFreeCommandBuffersSafe. vkFreeCommandBuffersUnsafe :: VkDevice -> VkCommandPool -> Word32 -> Ptr VkCommandBuffer -> IO () -- |
--   void vkFreeCommandBuffers
--       ( VkDevice device
--       , VkCommandPool commandPool
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkFreeCommandBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice
--   
-- -- or less efficient: -- --
--   myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers
--   
-- -- Note: vkFreeCommandBuffersUnsafe and -- vkFreeCommandBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkFreeCommandBuffers is an alias of -- vkFreeCommandBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkFreeCommandBuffersSafe. vkFreeCommandBuffersSafe :: VkDevice -> VkCommandPool -> Word32 -> Ptr VkCommandBuffer -> IO () type VkBeginCommandBuffer = "vkBeginCommandBuffer" pattern VkBeginCommandBuffer :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBeginCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , const VkCommandBufferBeginInfo* pBeginInfo
--       )
--   
-- -- vkBeginCommandBuffer registry at www.khronos.org type HS_vkBeginCommandBuffer = VkCommandBuffer " commandBuffer" -> Ptr VkCommandBufferBeginInfo " pBeginInfo" -> IO VkResult type PFN_vkBeginCommandBuffer = FunPtr HS_vkBeginCommandBuffer -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBeginCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , const VkCommandBufferBeginInfo* pBeginInfo
--       )
--   
-- -- vkBeginCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer
--   
-- -- Note: vkBeginCommandBufferUnsafe and -- vkBeginCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBeginCommandBuffer is an alias of -- vkBeginCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBeginCommandBufferSafe. vkBeginCommandBuffer :: VkCommandBuffer -> Ptr VkCommandBufferBeginInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBeginCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , const VkCommandBufferBeginInfo* pBeginInfo
--       )
--   
-- -- vkBeginCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer
--   
-- -- Note: vkBeginCommandBufferUnsafe and -- vkBeginCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBeginCommandBuffer is an alias of -- vkBeginCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBeginCommandBufferSafe. vkBeginCommandBufferUnsafe :: VkCommandBuffer -> Ptr VkCommandBufferBeginInfo -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBeginCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , const VkCommandBufferBeginInfo* pBeginInfo
--       )
--   
-- -- vkBeginCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer
--   
-- -- Note: vkBeginCommandBufferUnsafe and -- vkBeginCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkBeginCommandBuffer is an alias of -- vkBeginCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkBeginCommandBufferSafe. vkBeginCommandBufferSafe :: VkCommandBuffer -> Ptr VkCommandBufferBeginInfo -> IO VkResult type VkEndCommandBuffer = "vkEndCommandBuffer" pattern VkEndCommandBuffer :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEndCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkEndCommandBuffer registry at www.khronos.org type HS_vkEndCommandBuffer = VkCommandBuffer " commandBuffer" -> IO VkResult type PFN_vkEndCommandBuffer = FunPtr HS_vkEndCommandBuffer -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEndCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkEndCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer
--   
-- -- Note: vkEndCommandBufferUnsafe and -- vkEndCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEndCommandBuffer is an alias of -- vkEndCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEndCommandBufferSafe. vkEndCommandBuffer :: VkCommandBuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEndCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkEndCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer
--   
-- -- Note: vkEndCommandBufferUnsafe and -- vkEndCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEndCommandBuffer is an alias of -- vkEndCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEndCommandBufferSafe. vkEndCommandBufferUnsafe :: VkCommandBuffer -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkEndCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkEndCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer
--   
-- -- Note: vkEndCommandBufferUnsafe and -- vkEndCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkEndCommandBuffer is an alias of -- vkEndCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkEndCommandBufferSafe. vkEndCommandBufferSafe :: VkCommandBuffer -> IO VkResult type VkResetCommandBuffer = "vkResetCommandBuffer" pattern VkResetCommandBuffer :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkCommandBufferResetFlags flags
--       )
--   
-- -- vkResetCommandBuffer registry at www.khronos.org type HS_vkResetCommandBuffer = VkCommandBuffer " commandBuffer" -> VkCommandBufferResetFlags " flags" -> IO VkResult type PFN_vkResetCommandBuffer = FunPtr HS_vkResetCommandBuffer -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkCommandBufferResetFlags flags
--       )
--   
-- -- vkResetCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer
--   
-- -- Note: vkResetCommandBufferUnsafe and -- vkResetCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetCommandBuffer is an alias of -- vkResetCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetCommandBufferSafe. vkResetCommandBuffer :: VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkCommandBufferResetFlags flags
--       )
--   
-- -- vkResetCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer
--   
-- -- Note: vkResetCommandBufferUnsafe and -- vkResetCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetCommandBuffer is an alias of -- vkResetCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetCommandBufferSafe. vkResetCommandBufferUnsafe :: VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkResetCommandBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkCommandBufferResetFlags flags
--       )
--   
-- -- vkResetCommandBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer
--   
-- -- Note: vkResetCommandBufferUnsafe and -- vkResetCommandBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkResetCommandBuffer is an alias of -- vkResetCommandBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkResetCommandBufferSafe. vkResetCommandBufferSafe :: VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult -- |
--   typedef struct VkClearAttachment {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               colorAttachment;
--       VkClearValue           clearValue;
--   } VkClearAttachment;
--   
-- -- VkClearAttachment registry at www.khronos.org type VkClearAttachment = VkStruct VkClearAttachment' -- | / Union allowing specification of floating point, integer, or -- unsigned integer color data. Actual value selected is based on -- imageattachment being cleared. -- --
--   typedef union VkClearColorValue {
--       float                  float32[4];
--       int32_t                int32[4];
--       uint32_t               uint32[4];
--   } VkClearColorValue;
--   
-- -- VkClearColorValue registry at www.khronos.org type VkClearColorValue = VkStruct VkClearColorValue' -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org type VkClearDepthStencilValue = VkStruct VkClearDepthStencilValue' -- |
--   typedef struct VkClearRect {
--       VkRect2D       rect;
--       uint32_t       baseArrayLayer;
--       uint32_t       layerCount;
--   } VkClearRect;
--   
-- -- VkClearRect registry at www.khronos.org type VkClearRect = VkStruct VkClearRect' -- | // Union allowing specification of color or depth and stencil values. -- Actual value selected is based on attachment being cleared. -- --
--   typedef union VkClearValue {
--       VkClearColorValue      color;
--       VkClearDepthStencilValue depthStencil;
--   } VkClearValue;
--   
-- -- VkClearValue registry at www.khronos.org type VkClearValue = VkStruct VkClearValue' -- | type = enum -- -- VkIndexType registry at www.khronos.org newtype VkIndexType VkIndexType :: Int32 -> VkIndexType pattern VK_INDEX_TYPE_UINT16 :: VkIndexType pattern VK_INDEX_TYPE_UINT32 :: VkIndexType type VkCmdBindPipeline = "vkCmdBindPipeline" pattern VkCmdBindPipeline :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindPipeline
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipeline pipeline
--       )
--   
-- -- vkCmdBindPipeline registry at www.khronos.org type HS_vkCmdBindPipeline = VkCommandBuffer " commandBuffer" -> VkPipelineBindPoint " pipelineBindPoint" -> VkPipeline " pipeline" -> IO () type PFN_vkCmdBindPipeline = FunPtr HS_vkCmdBindPipeline -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindPipeline
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipeline pipeline
--       )
--   
-- -- vkCmdBindPipeline registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline
--   
-- -- Note: vkCmdBindPipelineUnsafe and -- vkCmdBindPipelineSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindPipeline is an alias of -- vkCmdBindPipelineUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdBindPipelineSafe. vkCmdBindPipeline :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipeline -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindPipeline
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipeline pipeline
--       )
--   
-- -- vkCmdBindPipeline registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline
--   
-- -- Note: vkCmdBindPipelineUnsafe and -- vkCmdBindPipelineSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindPipeline is an alias of -- vkCmdBindPipelineUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdBindPipelineSafe. vkCmdBindPipelineUnsafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipeline -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindPipeline
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipeline pipeline
--       )
--   
-- -- vkCmdBindPipeline registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline
--   
-- -- Note: vkCmdBindPipelineUnsafe and -- vkCmdBindPipelineSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindPipeline is an alias of -- vkCmdBindPipelineUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdBindPipelineSafe. vkCmdBindPipelineSafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipeline -> IO () type VkCmdSetViewport = "vkCmdSetViewport" pattern VkCmdSetViewport :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetViewport
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstViewport
--       , uint32_t viewportCount
--       , const VkViewport* pViewports
--       )
--   
-- -- vkCmdSetViewport registry at www.khronos.org type HS_vkCmdSetViewport = VkCommandBuffer " commandBuffer" -> Word32 " firstViewport" -> Word32 " viewportCount" -> Ptr VkViewport " pViewports" -> IO () type PFN_vkCmdSetViewport = FunPtr HS_vkCmdSetViewport -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetViewport
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstViewport
--       , uint32_t viewportCount
--       , const VkViewport* pViewports
--       )
--   
-- -- vkCmdSetViewport registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetViewport <- vkGetProc @VkCmdSetViewport
--   
-- -- Note: vkCmdSetViewportUnsafe and -- vkCmdSetViewportSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetViewport is an alias of -- vkCmdSetViewportUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetViewportSafe. vkCmdSetViewport :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkViewport -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetViewport
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstViewport
--       , uint32_t viewportCount
--       , const VkViewport* pViewports
--       )
--   
-- -- vkCmdSetViewport registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetViewport <- vkGetProc @VkCmdSetViewport
--   
-- -- Note: vkCmdSetViewportUnsafe and -- vkCmdSetViewportSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetViewport is an alias of -- vkCmdSetViewportUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetViewportSafe. vkCmdSetViewportUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkViewport -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetViewport
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstViewport
--       , uint32_t viewportCount
--       , const VkViewport* pViewports
--       )
--   
-- -- vkCmdSetViewport registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetViewport <- vkGetProc @VkCmdSetViewport
--   
-- -- Note: vkCmdSetViewportUnsafe and -- vkCmdSetViewportSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetViewport is an alias of -- vkCmdSetViewportUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetViewportSafe. vkCmdSetViewportSafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkViewport -> IO () type VkCmdSetScissor = "vkCmdSetScissor" pattern VkCmdSetScissor :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetScissor
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstScissor
--       , uint32_t scissorCount
--       , const VkRect2D* pScissors
--       )
--   
-- -- vkCmdSetScissor registry at www.khronos.org type HS_vkCmdSetScissor = VkCommandBuffer " commandBuffer" -> Word32 " firstScissor" -> Word32 " scissorCount" -> Ptr VkRect2D " pScissors" -> IO () type PFN_vkCmdSetScissor = FunPtr HS_vkCmdSetScissor -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetScissor
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstScissor
--       , uint32_t scissorCount
--       , const VkRect2D* pScissors
--       )
--   
-- -- vkCmdSetScissor registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetScissor <- vkGetProc @VkCmdSetScissor
--   
-- -- Note: vkCmdSetScissorUnsafe and -- vkCmdSetScissorSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdSetScissor -- is an alias of vkCmdSetScissorUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetScissorSafe. vkCmdSetScissor :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkRect2D -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetScissor
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstScissor
--       , uint32_t scissorCount
--       , const VkRect2D* pScissors
--       )
--   
-- -- vkCmdSetScissor registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetScissor <- vkGetProc @VkCmdSetScissor
--   
-- -- Note: vkCmdSetScissorUnsafe and -- vkCmdSetScissorSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdSetScissor -- is an alias of vkCmdSetScissorUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetScissorSafe. vkCmdSetScissorUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkRect2D -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetScissor
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstScissor
--       , uint32_t scissorCount
--       , const VkRect2D* pScissors
--       )
--   
-- -- vkCmdSetScissor registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetScissor <- vkGetProc @VkCmdSetScissor
--   
-- -- Note: vkCmdSetScissorUnsafe and -- vkCmdSetScissorSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdSetScissor -- is an alias of vkCmdSetScissorUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetScissorSafe. vkCmdSetScissorSafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkRect2D -> IO () type VkCmdSetLineWidth = "vkCmdSetLineWidth" pattern VkCmdSetLineWidth :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetLineWidth
--       ( VkCommandBuffer commandBuffer
--       , float lineWidth
--       )
--   
-- -- vkCmdSetLineWidth registry at www.khronos.org type HS_vkCmdSetLineWidth = VkCommandBuffer " commandBuffer" -> Float -> IO () type PFN_vkCmdSetLineWidth = FunPtr HS_vkCmdSetLineWidth -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetLineWidth
--       ( VkCommandBuffer commandBuffer
--       , float lineWidth
--       )
--   
-- -- vkCmdSetLineWidth registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth
--   
-- -- Note: vkCmdSetLineWidthUnsafe and -- vkCmdSetLineWidthSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetLineWidth is an alias of -- vkCmdSetLineWidthUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetLineWidthSafe. vkCmdSetLineWidth :: VkCommandBuffer -> Float -> IO () -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INITIALIZATION_FAILED, -- VK_ERROR_LAYER_NOT_PRESENT, -- VK_ERROR_EXTENSION_NOT_PRESENT, -- VK_ERROR_INCOMPATIBLE_DRIVER. -- --
--   VkResult vkCreateInstance
--       ( const VkInstanceCreateInfo* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkInstance* pInstance
--       )
--   
-- -- vkCreateInstance registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL
--   
-- -- or less efficient: -- --
--   myCreateInstance <- vkGetProc @VkCreateInstance
--   
-- -- Note: vkCreateInstanceUnsafe and -- vkCreateInstanceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCreateInstance is an alias of -- vkCreateInstanceUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCreateInstanceSafe. -- -- Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetLineWidth
--       ( VkCommandBuffer commandBuffer
--       , float lineWidth
--       )
--   
-- -- vkCmdSetLineWidth registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth
--   
-- -- Note: vkCmdSetLineWidthUnsafe and -- vkCmdSetLineWidthSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetLineWidth is an alias of -- vkCmdSetLineWidthUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetLineWidthSafe. vkCmdSetLineWidthUnsafe :: VkCommandBuffer -> Float -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetLineWidth
--       ( VkCommandBuffer commandBuffer
--       , float lineWidth
--       )
--   
-- -- vkCmdSetLineWidth registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth
--   
-- -- Note: vkCmdSetLineWidthUnsafe and -- vkCmdSetLineWidthSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetLineWidth is an alias of -- vkCmdSetLineWidthUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetLineWidthSafe. vkCmdSetLineWidthSafe :: VkCommandBuffer -> Float -> IO () type VkCmdSetDepthBias = "vkCmdSetDepthBias" pattern VkCmdSetDepthBias :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBias
--       ( VkCommandBuffer commandBuffer
--       , float depthBiasConstantFactor
--       , float depthBiasClamp
--       , float depthBiasSlopeFactor
--       )
--   
-- -- vkCmdSetDepthBias registry at www.khronos.org type HS_vkCmdSetDepthBias = VkCommandBuffer " commandBuffer" -> Float -> Float -> Float -> IO () type PFN_vkCmdSetDepthBias = FunPtr HS_vkCmdSetDepthBias -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBias
--       ( VkCommandBuffer commandBuffer
--       , float depthBiasConstantFactor
--       , float depthBiasClamp
--       , float depthBiasSlopeFactor
--       )
--   
-- -- vkCmdSetDepthBias registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias
--   
-- -- Note: vkCmdSetDepthBiasUnsafe and -- vkCmdSetDepthBiasSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDepthBias is an alias of -- vkCmdSetDepthBiasUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetDepthBiasSafe. vkCmdSetDepthBias :: VkCommandBuffer -> Float -> Float -> Float -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBias
--       ( VkCommandBuffer commandBuffer
--       , float depthBiasConstantFactor
--       , float depthBiasClamp
--       , float depthBiasSlopeFactor
--       )
--   
-- -- vkCmdSetDepthBias registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias
--   
-- -- Note: vkCmdSetDepthBiasUnsafe and -- vkCmdSetDepthBiasSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDepthBias is an alias of -- vkCmdSetDepthBiasUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetDepthBiasSafe. vkCmdSetDepthBiasUnsafe :: VkCommandBuffer -> Float -> Float -> Float -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBias
--       ( VkCommandBuffer commandBuffer
--       , float depthBiasConstantFactor
--       , float depthBiasClamp
--       , float depthBiasSlopeFactor
--       )
--   
-- -- vkCmdSetDepthBias registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias
--   
-- -- Note: vkCmdSetDepthBiasUnsafe and -- vkCmdSetDepthBiasSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDepthBias is an alias of -- vkCmdSetDepthBiasUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdSetDepthBiasSafe. vkCmdSetDepthBiasSafe :: VkCommandBuffer -> Float -> Float -> Float -> IO () type VkCmdSetBlendConstants = "vkCmdSetBlendConstants" pattern VkCmdSetBlendConstants :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetBlendConstants
--       ( VkCommandBuffer commandBuffer
--       , const float blendConstants[4]
--       )
--   
-- -- vkCmdSetBlendConstants registry at www.khronos.org type HS_vkCmdSetBlendConstants = VkCommandBuffer " commandBuffer" -> Ptr Float " blendConstants" -> IO () type PFN_vkCmdSetBlendConstants = FunPtr HS_vkCmdSetBlendConstants -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetBlendConstants
--       ( VkCommandBuffer commandBuffer
--       , const float blendConstants[4]
--       )
--   
-- -- vkCmdSetBlendConstants registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants
--   
-- -- Note: vkCmdSetBlendConstantsUnsafe and -- vkCmdSetBlendConstantsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetBlendConstants is an alias of -- vkCmdSetBlendConstantsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetBlendConstantsSafe. vkCmdSetBlendConstants :: VkCommandBuffer -> Ptr Float -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetBlendConstants
--       ( VkCommandBuffer commandBuffer
--       , const float blendConstants[4]
--       )
--   
-- -- vkCmdSetBlendConstants registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants
--   
-- -- Note: vkCmdSetBlendConstantsUnsafe and -- vkCmdSetBlendConstantsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetBlendConstants is an alias of -- vkCmdSetBlendConstantsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetBlendConstantsSafe. vkCmdSetBlendConstantsUnsafe :: VkCommandBuffer -> Ptr Float -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetBlendConstants
--       ( VkCommandBuffer commandBuffer
--       , const float blendConstants[4]
--       )
--   
-- -- vkCmdSetBlendConstants registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants
--   
-- -- Note: vkCmdSetBlendConstantsUnsafe and -- vkCmdSetBlendConstantsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetBlendConstants is an alias of -- vkCmdSetBlendConstantsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetBlendConstantsSafe. vkCmdSetBlendConstantsSafe :: VkCommandBuffer -> Ptr Float -> IO () type VkCmdSetDepthBounds = "vkCmdSetDepthBounds" pattern VkCmdSetDepthBounds :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBounds
--       ( VkCommandBuffer commandBuffer
--       , float minDepthBounds
--       , float maxDepthBounds
--       )
--   
-- -- vkCmdSetDepthBounds registry at www.khronos.org type HS_vkCmdSetDepthBounds = VkCommandBuffer " commandBuffer" -> Float -> Float -> IO () type PFN_vkCmdSetDepthBounds = FunPtr HS_vkCmdSetDepthBounds -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBounds
--       ( VkCommandBuffer commandBuffer
--       , float minDepthBounds
--       , float maxDepthBounds
--       )
--   
-- -- vkCmdSetDepthBounds registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds
--   
-- -- Note: vkCmdSetDepthBoundsUnsafe and -- vkCmdSetDepthBoundsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDepthBounds is an alias of -- vkCmdSetDepthBoundsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetDepthBoundsSafe. vkCmdSetDepthBounds :: VkCommandBuffer -> Float -> Float -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBounds
--       ( VkCommandBuffer commandBuffer
--       , float minDepthBounds
--       , float maxDepthBounds
--       )
--   
-- -- vkCmdSetDepthBounds registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds
--   
-- -- Note: vkCmdSetDepthBoundsUnsafe and -- vkCmdSetDepthBoundsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDepthBounds is an alias of -- vkCmdSetDepthBoundsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetDepthBoundsSafe. vkCmdSetDepthBoundsUnsafe :: VkCommandBuffer -> Float -> Float -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetDepthBounds
--       ( VkCommandBuffer commandBuffer
--       , float minDepthBounds
--       , float maxDepthBounds
--       )
--   
-- -- vkCmdSetDepthBounds registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds
--   
-- -- Note: vkCmdSetDepthBoundsUnsafe and -- vkCmdSetDepthBoundsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetDepthBounds is an alias of -- vkCmdSetDepthBoundsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetDepthBoundsSafe. vkCmdSetDepthBoundsSafe :: VkCommandBuffer -> Float -> Float -> IO () type VkCmdSetStencilCompareMask = "vkCmdSetStencilCompareMask" pattern VkCmdSetStencilCompareMask :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilCompareMask
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t compareMask
--       )
--   
-- -- vkCmdSetStencilCompareMask registry at www.khronos.org type HS_vkCmdSetStencilCompareMask = VkCommandBuffer " commandBuffer" -> VkStencilFaceFlags " faceMask" -> Word32 " compareMask" -> IO () type PFN_vkCmdSetStencilCompareMask = FunPtr HS_vkCmdSetStencilCompareMask -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilCompareMask
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t compareMask
--       )
--   
-- -- vkCmdSetStencilCompareMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask
--   
-- -- Note: vkCmdSetStencilCompareMaskUnsafe and -- vkCmdSetStencilCompareMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilCompareMask is an alias of -- vkCmdSetStencilCompareMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilCompareMaskSafe. vkCmdSetStencilCompareMask :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () vkCmdSetStencilCompareMaskUnsafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilCompareMask
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t compareMask
--       )
--   
-- -- vkCmdSetStencilCompareMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask
--   
-- -- Note: vkCmdSetStencilCompareMaskUnsafe and -- vkCmdSetStencilCompareMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilCompareMask is an alias of -- vkCmdSetStencilCompareMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilCompareMaskSafe. vkCmdSetStencilCompareMaskSafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () type VkCmdSetStencilWriteMask = "vkCmdSetStencilWriteMask" pattern VkCmdSetStencilWriteMask :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilWriteMask
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t writeMask
--       )
--   
-- -- vkCmdSetStencilWriteMask registry at www.khronos.org type HS_vkCmdSetStencilWriteMask = VkCommandBuffer " commandBuffer" -> VkStencilFaceFlags " faceMask" -> Word32 " writeMask" -> IO () type PFN_vkCmdSetStencilWriteMask = FunPtr HS_vkCmdSetStencilWriteMask -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilWriteMask
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t writeMask
--       )
--   
-- -- vkCmdSetStencilWriteMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask
--   
-- -- Note: vkCmdSetStencilWriteMaskUnsafe and -- vkCmdSetStencilWriteMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilWriteMask is an alias of -- vkCmdSetStencilWriteMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilWriteMaskSafe. vkCmdSetStencilWriteMask :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilWriteMask
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t writeMask
--       )
--   
-- -- vkCmdSetStencilWriteMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask
--   
-- -- Note: vkCmdSetStencilWriteMaskUnsafe and -- vkCmdSetStencilWriteMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilWriteMask is an alias of -- vkCmdSetStencilWriteMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilWriteMaskSafe. vkCmdSetStencilWriteMaskUnsafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilWriteMask
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t writeMask
--       )
--   
-- -- vkCmdSetStencilWriteMask registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask
--   
-- -- Note: vkCmdSetStencilWriteMaskUnsafe and -- vkCmdSetStencilWriteMaskSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilWriteMask is an alias of -- vkCmdSetStencilWriteMaskUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilWriteMaskSafe. vkCmdSetStencilWriteMaskSafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () type VkCmdSetStencilReference = "vkCmdSetStencilReference" pattern VkCmdSetStencilReference :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilReference
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t reference
--       )
--   
-- -- vkCmdSetStencilReference registry at www.khronos.org type HS_vkCmdSetStencilReference = VkCommandBuffer " commandBuffer" -> VkStencilFaceFlags " faceMask" -> Word32 " reference" -> IO () type PFN_vkCmdSetStencilReference = FunPtr HS_vkCmdSetStencilReference -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilReference
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t reference
--       )
--   
-- -- vkCmdSetStencilReference registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference
--   
-- -- Note: vkCmdSetStencilReferenceUnsafe and -- vkCmdSetStencilReferenceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilReference is an alias of -- vkCmdSetStencilReferenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilReferenceSafe. vkCmdSetStencilReference :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilReference
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t reference
--       )
--   
-- -- vkCmdSetStencilReference registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference
--   
-- -- Note: vkCmdSetStencilReferenceUnsafe and -- vkCmdSetStencilReferenceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilReference is an alias of -- vkCmdSetStencilReferenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilReferenceSafe. vkCmdSetStencilReferenceUnsafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdSetStencilReference
--       ( VkCommandBuffer commandBuffer
--       , VkStencilFaceFlags faceMask
--       , uint32_t reference
--       )
--   
-- -- vkCmdSetStencilReference registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference
--   
-- -- Note: vkCmdSetStencilReferenceUnsafe and -- vkCmdSetStencilReferenceSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdSetStencilReference is an alias of -- vkCmdSetStencilReferenceUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetStencilReferenceSafe. vkCmdSetStencilReferenceSafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () type VkCmdBindDescriptorSets = "vkCmdBindDescriptorSets" pattern VkCmdBindDescriptorSets :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindDescriptorSets
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipelineLayout layout
--       , uint32_t firstSet
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       , uint32_t dynamicOffsetCount
--       , const uint32_t* pDynamicOffsets
--       )
--   
-- -- vkCmdBindDescriptorSets registry at www.khronos.org type HS_vkCmdBindDescriptorSets = VkCommandBuffer " commandBuffer" -> VkPipelineBindPoint " pipelineBindPoint" -> VkPipelineLayout " layout" -> Word32 " firstSet" -> Word32 " descriptorSetCount" -> Ptr VkDescriptorSet " pDescriptorSets" -> Word32 " dynamicOffsetCount" -> Ptr Word32 " pDynamicOffsets" -> IO () type PFN_vkCmdBindDescriptorSets = FunPtr HS_vkCmdBindDescriptorSets -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindDescriptorSets
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipelineLayout layout
--       , uint32_t firstSet
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       , uint32_t dynamicOffsetCount
--       , const uint32_t* pDynamicOffsets
--       )
--   
-- -- vkCmdBindDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets
--   
-- -- Note: vkCmdBindDescriptorSetsUnsafe and -- vkCmdBindDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindDescriptorSets is an alias of -- vkCmdBindDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindDescriptorSetsSafe. vkCmdBindDescriptorSets :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipelineLayout -> Word32 -> Word32 -> Ptr VkDescriptorSet -> Word32 -> Ptr Word32 -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindDescriptorSets
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipelineLayout layout
--       , uint32_t firstSet
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       , uint32_t dynamicOffsetCount
--       , const uint32_t* pDynamicOffsets
--       )
--   
-- -- vkCmdBindDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets
--   
-- -- Note: vkCmdBindDescriptorSetsUnsafe and -- vkCmdBindDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindDescriptorSets is an alias of -- vkCmdBindDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindDescriptorSetsSafe. vkCmdBindDescriptorSetsUnsafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipelineLayout -> Word32 -> Word32 -> Ptr VkDescriptorSet -> Word32 -> Ptr Word32 -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBindDescriptorSets
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineBindPoint pipelineBindPoint
--       , VkPipelineLayout layout
--       , uint32_t firstSet
--       , uint32_t descriptorSetCount
--       , const VkDescriptorSet* pDescriptorSets
--       , uint32_t dynamicOffsetCount
--       , const uint32_t* pDynamicOffsets
--       )
--   
-- -- vkCmdBindDescriptorSets registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets
--   
-- -- Note: vkCmdBindDescriptorSetsUnsafe and -- vkCmdBindDescriptorSetsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindDescriptorSets is an alias of -- vkCmdBindDescriptorSetsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindDescriptorSetsSafe. vkCmdBindDescriptorSetsSafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipelineLayout -> Word32 -> Word32 -> Ptr VkDescriptorSet -> Word32 -> Ptr Word32 -> IO () type VkCmdBindIndexBuffer = "vkCmdBindIndexBuffer" pattern VkCmdBindIndexBuffer :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindIndexBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkIndexType indexType
--       )
--   
-- -- vkCmdBindIndexBuffer registry at www.khronos.org type HS_vkCmdBindIndexBuffer = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> VkIndexType " indexType" -> IO () type PFN_vkCmdBindIndexBuffer = FunPtr HS_vkCmdBindIndexBuffer -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindIndexBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkIndexType indexType
--       )
--   
-- -- vkCmdBindIndexBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer
--   
-- -- Note: vkCmdBindIndexBufferUnsafe and -- vkCmdBindIndexBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindIndexBuffer is an alias of -- vkCmdBindIndexBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindIndexBufferSafe. vkCmdBindIndexBuffer :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkIndexType -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindIndexBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkIndexType indexType
--       )
--   
-- -- vkCmdBindIndexBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer
--   
-- -- Note: vkCmdBindIndexBufferUnsafe and -- vkCmdBindIndexBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindIndexBuffer is an alias of -- vkCmdBindIndexBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindIndexBufferSafe. vkCmdBindIndexBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkIndexType -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindIndexBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , VkIndexType indexType
--       )
--   
-- -- vkCmdBindIndexBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer
--   
-- -- Note: vkCmdBindIndexBufferUnsafe and -- vkCmdBindIndexBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindIndexBuffer is an alias of -- vkCmdBindIndexBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindIndexBufferSafe. vkCmdBindIndexBufferSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkIndexType -> IO () type VkCmdBindVertexBuffers = "vkCmdBindVertexBuffers" pattern VkCmdBindVertexBuffers :: CString -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindVertexBuffers
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstBinding
--       , uint32_t bindingCount
--       , const VkBuffer* pBuffers
--       , const VkDeviceSize* pOffsets
--       )
--   
-- -- vkCmdBindVertexBuffers registry at www.khronos.org type HS_vkCmdBindVertexBuffers = VkCommandBuffer " commandBuffer" -> Word32 " firstBinding" -> Word32 " bindingCount" -> Ptr VkBuffer " pBuffers" -> Ptr VkDeviceSize " pOffsets" -> IO () type PFN_vkCmdBindVertexBuffers = FunPtr HS_vkCmdBindVertexBuffers -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindVertexBuffers
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstBinding
--       , uint32_t bindingCount
--       , const VkBuffer* pBuffers
--       , const VkDeviceSize* pOffsets
--       )
--   
-- -- vkCmdBindVertexBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers
--   
-- -- Note: vkCmdBindVertexBuffersUnsafe and -- vkCmdBindVertexBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindVertexBuffers is an alias of -- vkCmdBindVertexBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindVertexBuffersSafe. vkCmdBindVertexBuffers :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkBuffer -> Ptr VkDeviceSize -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindVertexBuffers
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstBinding
--       , uint32_t bindingCount
--       , const VkBuffer* pBuffers
--       , const VkDeviceSize* pOffsets
--       )
--   
-- -- vkCmdBindVertexBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers
--   
-- -- Note: vkCmdBindVertexBuffersUnsafe and -- vkCmdBindVertexBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindVertexBuffers is an alias of -- vkCmdBindVertexBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindVertexBuffersSafe. vkCmdBindVertexBuffersUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkBuffer -> Ptr VkDeviceSize -> IO () -- | Queues: graphics. -- -- Renderpass: both -- --
--   void vkCmdBindVertexBuffers
--       ( VkCommandBuffer commandBuffer
--       , uint32_t firstBinding
--       , uint32_t bindingCount
--       , const VkBuffer* pBuffers
--       , const VkDeviceSize* pOffsets
--       )
--   
-- -- vkCmdBindVertexBuffers registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers
--   
-- -- Note: vkCmdBindVertexBuffersUnsafe and -- vkCmdBindVertexBuffersSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBindVertexBuffers is an alias of -- vkCmdBindVertexBuffersUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBindVertexBuffersSafe. vkCmdBindVertexBuffersSafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkBuffer -> Ptr VkDeviceSize -> IO () type VkCmdDraw = "vkCmdDraw" pattern VkCmdDraw :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDraw
--       ( VkCommandBuffer commandBuffer
--       , uint32_t vertexCount
--       , uint32_t instanceCount
--       , uint32_t firstVertex
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDraw registry at www.khronos.org type HS_vkCmdDraw = VkCommandBuffer " commandBuffer" -> Word32 " vertexCount" -> Word32 " instanceCount" -> Word32 " firstVertex" -> Word32 " firstInstance" -> IO () type PFN_vkCmdDraw = FunPtr HS_vkCmdDraw -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDraw
--       ( VkCommandBuffer commandBuffer
--       , uint32_t vertexCount
--       , uint32_t instanceCount
--       , uint32_t firstVertex
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDraw registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDraw <- vkGetProc @VkCmdDraw
--   
-- -- Note: vkCmdDrawUnsafe and vkCmdDrawSafe are -- the unsafe and safe FFI imports of this function, -- respectively. vkCmdDraw is an alias of -- vkCmdDrawUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of vkCmdDrawSafe. vkCmdDraw :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDraw
--       ( VkCommandBuffer commandBuffer
--       , uint32_t vertexCount
--       , uint32_t instanceCount
--       , uint32_t firstVertex
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDraw registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDraw <- vkGetProc @VkCmdDraw
--   
-- -- Note: vkCmdDrawUnsafe and vkCmdDrawSafe are -- the unsafe and safe FFI imports of this function, -- respectively. vkCmdDraw is an alias of -- vkCmdDrawUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of vkCmdDrawSafe. vkCmdDrawUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDraw
--       ( VkCommandBuffer commandBuffer
--       , uint32_t vertexCount
--       , uint32_t instanceCount
--       , uint32_t firstVertex
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDraw registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDraw <- vkGetProc @VkCmdDraw
--   
-- -- Note: vkCmdDrawUnsafe and vkCmdDrawSafe are -- the unsafe and safe FFI imports of this function, -- respectively. vkCmdDraw is an alias of -- vkCmdDrawUnsafe when the useUnsafeFFIDefault cabal -- flag is enabled; otherwise, it is an alias of vkCmdDrawSafe. vkCmdDrawSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> IO () type VkCmdDrawIndexed = "vkCmdDrawIndexed" pattern VkCmdDrawIndexed :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexed
--       ( VkCommandBuffer commandBuffer
--       , uint32_t indexCount
--       , uint32_t instanceCount
--       , uint32_t firstIndex
--       , int32_t vertexOffset
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDrawIndexed registry at www.khronos.org type HS_vkCmdDrawIndexed = VkCommandBuffer " commandBuffer" -> Word32 " indexCount" -> Word32 " instanceCount" -> Word32 " firstIndex" -> Int32 " vertexOffset" -> Word32 " firstInstance" -> IO () type PFN_vkCmdDrawIndexed = FunPtr HS_vkCmdDrawIndexed -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexed
--       ( VkCommandBuffer commandBuffer
--       , uint32_t indexCount
--       , uint32_t instanceCount
--       , uint32_t firstIndex
--       , int32_t vertexOffset
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDrawIndexed registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed
--   
-- -- Note: vkCmdDrawIndexedUnsafe and -- vkCmdDrawIndexedSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexed is an alias of -- vkCmdDrawIndexedUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDrawIndexedSafe. vkCmdDrawIndexed :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexed
--       ( VkCommandBuffer commandBuffer
--       , uint32_t indexCount
--       , uint32_t instanceCount
--       , uint32_t firstIndex
--       , int32_t vertexOffset
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDrawIndexed registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed
--   
-- -- Note: vkCmdDrawIndexedUnsafe and -- vkCmdDrawIndexedSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexed is an alias of -- vkCmdDrawIndexedUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDrawIndexedSafe. vkCmdDrawIndexedUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexed
--       ( VkCommandBuffer commandBuffer
--       , uint32_t indexCount
--       , uint32_t instanceCount
--       , uint32_t firstIndex
--       , int32_t vertexOffset
--       , uint32_t firstInstance
--       )
--   
-- -- vkCmdDrawIndexed registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed
--   
-- -- Note: vkCmdDrawIndexedUnsafe and -- vkCmdDrawIndexedSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexed is an alias of -- vkCmdDrawIndexedUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDrawIndexedSafe. vkCmdDrawIndexedSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO () type VkCmdDrawIndirect = "vkCmdDrawIndirect" pattern VkCmdDrawIndirect :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirect registry at www.khronos.org type HS_vkCmdDrawIndirect = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> Word32 " drawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndirect = FunPtr HS_vkCmdDrawIndirect -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect
--   
-- -- Note: vkCmdDrawIndirectUnsafe and -- vkCmdDrawIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndirect is an alias of -- vkCmdDrawIndirectUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDrawIndirectSafe. vkCmdDrawIndirect :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect
--   
-- -- Note: vkCmdDrawIndirectUnsafe and -- vkCmdDrawIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndirect is an alias of -- vkCmdDrawIndirectUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDrawIndirectSafe. vkCmdDrawIndirectUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect
--   
-- -- Note: vkCmdDrawIndirectUnsafe and -- vkCmdDrawIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndirect is an alias of -- vkCmdDrawIndirectUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdDrawIndirectSafe. vkCmdDrawIndirectSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () type VkCmdDrawIndexedIndirect = "vkCmdDrawIndexedIndirect" pattern VkCmdDrawIndexedIndirect :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirect registry at www.khronos.org type HS_vkCmdDrawIndexedIndirect = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> Word32 " drawCount" -> Word32 " stride" -> IO () type PFN_vkCmdDrawIndexedIndirect = FunPtr HS_vkCmdDrawIndexedIndirect -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect
--   
-- -- Note: vkCmdDrawIndexedIndirectUnsafe and -- vkCmdDrawIndexedIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexedIndirect is an alias of -- vkCmdDrawIndexedIndirectUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndexedIndirectSafe. vkCmdDrawIndexedIndirect :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect
--   
-- -- Note: vkCmdDrawIndexedIndirectUnsafe and -- vkCmdDrawIndexedIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexedIndirect is an alias of -- vkCmdDrawIndexedIndirectUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndexedIndirectSafe. vkCmdDrawIndexedIndirectUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdDrawIndexedIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       , uint32_t drawCount
--       , uint32_t stride
--       )
--   
-- -- vkCmdDrawIndexedIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect
--   
-- -- Note: vkCmdDrawIndexedIndirectUnsafe and -- vkCmdDrawIndexedIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDrawIndexedIndirect is an alias of -- vkCmdDrawIndexedIndirectUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDrawIndexedIndirectSafe. vkCmdDrawIndexedIndirectSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () type VkCmdDispatch = "vkCmdDispatch" pattern VkCmdDispatch :: CString -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatch
--       ( VkCommandBuffer commandBuffer
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatch registry at www.khronos.org type HS_vkCmdDispatch = VkCommandBuffer " commandBuffer" -> Word32 " groupCountX" -> Word32 " groupCountY" -> Word32 " groupCountZ" -> IO () type PFN_vkCmdDispatch = FunPtr HS_vkCmdDispatch -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatch
--       ( VkCommandBuffer commandBuffer
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatch registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatch <- vkGetProc @VkCmdDispatch
--   
-- -- Note: vkCmdDispatchUnsafe and -- vkCmdDispatchSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdDispatch is -- an alias of vkCmdDispatchUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDispatchSafe. vkCmdDispatch :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> IO () -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatch
--       ( VkCommandBuffer commandBuffer
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatch registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatch <- vkGetProc @VkCmdDispatch
--   
-- -- Note: vkCmdDispatchUnsafe and -- vkCmdDispatchSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdDispatch is -- an alias of vkCmdDispatchUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDispatchSafe. vkCmdDispatchUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> IO () -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatch
--       ( VkCommandBuffer commandBuffer
--       , uint32_t groupCountX
--       , uint32_t groupCountY
--       , uint32_t groupCountZ
--       )
--   
-- -- vkCmdDispatch registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatch <- vkGetProc @VkCmdDispatch
--   
-- -- Note: vkCmdDispatchUnsafe and -- vkCmdDispatchSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdDispatch is -- an alias of vkCmdDispatchUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDispatchSafe. vkCmdDispatchSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> IO () type VkCmdDispatchIndirect = "vkCmdDispatchIndirect" pattern VkCmdDispatchIndirect :: CString -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatchIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       )
--   
-- -- vkCmdDispatchIndirect registry at www.khronos.org type HS_vkCmdDispatchIndirect = VkCommandBuffer " commandBuffer" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> IO () type PFN_vkCmdDispatchIndirect = FunPtr HS_vkCmdDispatchIndirect -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatchIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       )
--   
-- -- vkCmdDispatchIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect
--   
-- -- Note: vkCmdDispatchIndirectUnsafe and -- vkCmdDispatchIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDispatchIndirect is an alias of -- vkCmdDispatchIndirectUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDispatchIndirectSafe. vkCmdDispatchIndirect :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> IO () -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatchIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       )
--   
-- -- vkCmdDispatchIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect
--   
-- -- Note: vkCmdDispatchIndirectUnsafe and -- vkCmdDispatchIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDispatchIndirect is an alias of -- vkCmdDispatchIndirectUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDispatchIndirectSafe. vkCmdDispatchIndirectUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> IO () -- | Queues: compute. -- -- Renderpass: outside -- -- Pipeline: compute -- --
--   void vkCmdDispatchIndirect
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       )
--   
-- -- vkCmdDispatchIndirect registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance
--   
-- -- or less efficient: -- --
--   myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect
--   
-- -- Note: vkCmdDispatchIndirectUnsafe and -- vkCmdDispatchIndirectSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdDispatchIndirect is an alias of -- vkCmdDispatchIndirectUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdDispatchIndirectSafe. vkCmdDispatchIndirectSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> IO () type VkCmdCopyBuffer = "vkCmdCopyBuffer" pattern VkCmdCopyBuffer :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferCopy* pRegions
--       )
--   
-- -- vkCmdCopyBuffer registry at www.khronos.org type HS_vkCmdCopyBuffer = VkCommandBuffer " commandBuffer" -> VkBuffer " srcBuffer" -> VkBuffer " dstBuffer" -> Word32 " regionCount" -> Ptr VkBufferCopy " pRegions" -> IO () type PFN_vkCmdCopyBuffer = FunPtr HS_vkCmdCopyBuffer -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferCopy* pRegions
--       )
--   
-- -- vkCmdCopyBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer
--   
-- -- Note: vkCmdCopyBufferUnsafe and -- vkCmdCopyBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdCopyBuffer -- is an alias of vkCmdCopyBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyBufferSafe. vkCmdCopyBuffer :: VkCommandBuffer -> VkBuffer -> VkBuffer -> Word32 -> Ptr VkBufferCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferCopy* pRegions
--       )
--   
-- -- vkCmdCopyBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer
--   
-- -- Note: vkCmdCopyBufferUnsafe and -- vkCmdCopyBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdCopyBuffer -- is an alias of vkCmdCopyBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyBufferSafe. vkCmdCopyBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkBuffer -> Word32 -> Ptr VkBufferCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferCopy* pRegions
--       )
--   
-- -- vkCmdCopyBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer
--   
-- -- Note: vkCmdCopyBufferUnsafe and -- vkCmdCopyBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdCopyBuffer -- is an alias of vkCmdCopyBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyBufferSafe. vkCmdCopyBufferSafe :: VkCommandBuffer -> VkBuffer -> VkBuffer -> Word32 -> Ptr VkBufferCopy -> IO () type VkCmdCopyImage = "vkCmdCopyImage" pattern VkCmdCopyImage :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImage registry at www.khronos.org type HS_vkCmdCopyImage = VkCommandBuffer " commandBuffer" -> VkImage " srcImage" -> VkImageLayout " srcImageLayout" -> VkImage " dstImage" -> VkImageLayout " dstImageLayout" -> Word32 " regionCount" -> Ptr VkImageCopy " pRegions" -> IO () type PFN_vkCmdCopyImage = FunPtr HS_vkCmdCopyImage -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyImage <- vkGetProc @VkCmdCopyImage
--   
-- -- Note: vkCmdCopyImageUnsafe and -- vkCmdCopyImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdCopyImage is -- an alias of vkCmdCopyImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyImageSafe. vkCmdCopyImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyImage <- vkGetProc @VkCmdCopyImage
--   
-- -- Note: vkCmdCopyImageUnsafe and -- vkCmdCopyImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdCopyImage is -- an alias of vkCmdCopyImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyImageSafe. vkCmdCopyImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyImage <- vkGetProc @VkCmdCopyImage
--   
-- -- Note: vkCmdCopyImageUnsafe and -- vkCmdCopyImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdCopyImage is -- an alias of vkCmdCopyImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyImageSafe. vkCmdCopyImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageCopy -> IO () type VkCmdBlitImage = "vkCmdBlitImage" pattern VkCmdBlitImage :: CString -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdBlitImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageBlit* pRegions
--       , VkFilter filter
--       )
--   
-- -- vkCmdBlitImage registry at www.khronos.org type HS_vkCmdBlitImage = VkCommandBuffer " commandBuffer" -> VkImage " srcImage" -> VkImageLayout " srcImageLayout" -> VkImage " dstImage" -> VkImageLayout " dstImageLayout" -> Word32 " regionCount" -> Ptr VkImageBlit " pRegions" -> VkFilter " filter" -> IO () type PFN_vkCmdBlitImage = FunPtr HS_vkCmdBlitImage -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdBlitImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageBlit* pRegions
--       , VkFilter filter
--       )
--   
-- -- vkCmdBlitImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBlitImage <- vkGetProc @VkCmdBlitImage
--   
-- -- Note: vkCmdBlitImageUnsafe and -- vkCmdBlitImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdBlitImage is -- an alias of vkCmdBlitImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBlitImageSafe. vkCmdBlitImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageBlit -> VkFilter -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdBlitImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageBlit* pRegions
--       , VkFilter filter
--       )
--   
-- -- vkCmdBlitImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBlitImage <- vkGetProc @VkCmdBlitImage
--   
-- -- Note: vkCmdBlitImageUnsafe and -- vkCmdBlitImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdBlitImage is -- an alias of vkCmdBlitImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBlitImageSafe. vkCmdBlitImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageBlit -> VkFilter -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdBlitImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageBlit* pRegions
--       , VkFilter filter
--       )
--   
-- -- vkCmdBlitImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBlitImage <- vkGetProc @VkCmdBlitImage
--   
-- -- Note: vkCmdBlitImageUnsafe and -- vkCmdBlitImageSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdBlitImage is -- an alias of vkCmdBlitImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBlitImageSafe. vkCmdBlitImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageBlit -> VkFilter -> IO () type VkCmdCopyBufferToImage = "vkCmdCopyBufferToImage" pattern VkCmdCopyBufferToImage :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBufferToImage
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyBufferToImage registry at www.khronos.org type HS_vkCmdCopyBufferToImage = VkCommandBuffer " commandBuffer" -> VkBuffer " srcBuffer" -> VkImage " dstImage" -> VkImageLayout " dstImageLayout" -> Word32 " regionCount" -> Ptr VkBufferImageCopy " pRegions" -> IO () type PFN_vkCmdCopyBufferToImage = FunPtr HS_vkCmdCopyBufferToImage -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBufferToImage
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyBufferToImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage
--   
-- -- Note: vkCmdCopyBufferToImageUnsafe and -- vkCmdCopyBufferToImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyBufferToImage is an alias of -- vkCmdCopyBufferToImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyBufferToImageSafe. vkCmdCopyBufferToImage :: VkCommandBuffer -> VkBuffer -> VkImage -> VkImageLayout -> Word32 -> Ptr VkBufferImageCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBufferToImage
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyBufferToImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage
--   
-- -- Note: vkCmdCopyBufferToImageUnsafe and -- vkCmdCopyBufferToImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyBufferToImage is an alias of -- vkCmdCopyBufferToImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyBufferToImageSafe. vkCmdCopyBufferToImageUnsafe :: VkCommandBuffer -> VkBuffer -> VkImage -> VkImageLayout -> Word32 -> Ptr VkBufferImageCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyBufferToImage
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer srcBuffer
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyBufferToImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage
--   
-- -- Note: vkCmdCopyBufferToImageUnsafe and -- vkCmdCopyBufferToImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyBufferToImage is an alias of -- vkCmdCopyBufferToImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyBufferToImageSafe. vkCmdCopyBufferToImageSafe :: VkCommandBuffer -> VkBuffer -> VkImage -> VkImageLayout -> Word32 -> Ptr VkBufferImageCopy -> IO () type VkCmdCopyImageToBuffer = "vkCmdCopyImageToBuffer" pattern VkCmdCopyImageToBuffer :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImageToBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImageToBuffer registry at www.khronos.org type HS_vkCmdCopyImageToBuffer = VkCommandBuffer " commandBuffer" -> VkImage " srcImage" -> VkImageLayout " srcImageLayout" -> VkBuffer " dstBuffer" -> Word32 " regionCount" -> Ptr VkBufferImageCopy " pRegions" -> IO () type PFN_vkCmdCopyImageToBuffer = FunPtr HS_vkCmdCopyImageToBuffer -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImageToBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImageToBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer
--   
-- -- Note: vkCmdCopyImageToBufferUnsafe and -- vkCmdCopyImageToBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyImageToBuffer is an alias of -- vkCmdCopyImageToBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyImageToBufferSafe. vkCmdCopyImageToBuffer :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkBuffer -> Word32 -> Ptr VkBufferImageCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImageToBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImageToBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer
--   
-- -- Note: vkCmdCopyImageToBufferUnsafe and -- vkCmdCopyImageToBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyImageToBuffer is an alias of -- vkCmdCopyImageToBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyImageToBufferSafe. vkCmdCopyImageToBufferUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkBuffer -> Word32 -> Ptr VkBufferImageCopy -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyImageToBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkBuffer dstBuffer
--       , uint32_t regionCount
--       , const VkBufferImageCopy* pRegions
--       )
--   
-- -- vkCmdCopyImageToBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer
--   
-- -- Note: vkCmdCopyImageToBufferUnsafe and -- vkCmdCopyImageToBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyImageToBuffer is an alias of -- vkCmdCopyImageToBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyImageToBufferSafe. vkCmdCopyImageToBufferSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkBuffer -> Word32 -> Ptr VkBufferImageCopy -> IO () type VkCmdUpdateBuffer = "vkCmdUpdateBuffer" pattern VkCmdUpdateBuffer :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdUpdateBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize dataSize
--       , const void* pData
--       )
--   
-- -- vkCmdUpdateBuffer registry at www.khronos.org type HS_vkCmdUpdateBuffer = VkCommandBuffer " commandBuffer" -> VkBuffer " dstBuffer" -> VkDeviceSize " dstOffset" -> VkDeviceSize " dataSize" -> Ptr Void " pData" -> IO () type PFN_vkCmdUpdateBuffer = FunPtr HS_vkCmdUpdateBuffer -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdUpdateBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize dataSize
--       , const void* pData
--       )
--   
-- -- vkCmdUpdateBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer
--   
-- -- Note: vkCmdUpdateBufferUnsafe and -- vkCmdUpdateBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdUpdateBuffer is an alias of -- vkCmdUpdateBufferUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdUpdateBufferSafe. vkCmdUpdateBuffer :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Ptr Void -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdUpdateBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize dataSize
--       , const void* pData
--       )
--   
-- -- vkCmdUpdateBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer
--   
-- -- Note: vkCmdUpdateBufferUnsafe and -- vkCmdUpdateBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdUpdateBuffer is an alias of -- vkCmdUpdateBufferUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdUpdateBufferSafe. vkCmdUpdateBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Ptr Void -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdUpdateBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize dataSize
--       , const void* pData
--       )
--   
-- -- vkCmdUpdateBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer
--   
-- -- Note: vkCmdUpdateBufferUnsafe and -- vkCmdUpdateBufferSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdUpdateBuffer is an alias of -- vkCmdUpdateBufferUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdUpdateBufferSafe. vkCmdUpdateBufferSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Ptr Void -> IO () type VkCmdFillBuffer = "vkCmdFillBuffer" pattern VkCmdFillBuffer :: CString -- | transfer support is only available when VK_KHR_maintenance1 is -- enabled, as documented in valid usage language in the specification -- -- Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdFillBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize size
--       , uint32_t data
--       )
--   
-- -- vkCmdFillBuffer registry at www.khronos.org type HS_vkCmdFillBuffer = VkCommandBuffer " commandBuffer" -> VkBuffer " dstBuffer" -> VkDeviceSize " dstOffset" -> VkDeviceSize " size" -> Word32 " data" -> IO () type PFN_vkCmdFillBuffer = FunPtr HS_vkCmdFillBuffer -- | transfer support is only available when VK_KHR_maintenance1 is -- enabled, as documented in valid usage language in the specification -- -- Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdFillBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize size
--       , uint32_t data
--       )
--   
-- -- vkCmdFillBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer
--   
-- -- Note: vkCmdFillBufferUnsafe and -- vkCmdFillBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdFillBuffer -- is an alias of vkCmdFillBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdFillBufferSafe. vkCmdFillBuffer :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Word32 -> IO () -- | transfer support is only available when VK_KHR_maintenance1 is -- enabled, as documented in valid usage language in the specification -- -- Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdFillBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize size
--       , uint32_t data
--       )
--   
-- -- vkCmdFillBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer
--   
-- -- Note: vkCmdFillBufferUnsafe and -- vkCmdFillBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdFillBuffer -- is an alias of vkCmdFillBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdFillBufferSafe. vkCmdFillBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Word32 -> IO () -- | transfer support is only available when VK_KHR_maintenance1 is -- enabled, as documented in valid usage language in the specification -- -- Queues: transfer, graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdFillBuffer
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize size
--       , uint32_t data
--       )
--   
-- -- vkCmdFillBuffer registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance
--   
-- -- or less efficient: -- --
--   myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer
--   
-- -- Note: vkCmdFillBufferUnsafe and -- vkCmdFillBufferSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdFillBuffer -- is an alias of vkCmdFillBufferUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdFillBufferSafe. vkCmdFillBufferSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Word32 -> IO () type VkCmdClearColorImage = "vkCmdClearColorImage" pattern VkCmdClearColorImage :: CString -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearColorImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearColorValue* pColor
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearColorImage registry at www.khronos.org type HS_vkCmdClearColorImage = VkCommandBuffer " commandBuffer" -> VkImage " image" -> VkImageLayout " imageLayout" -> Ptr VkClearColorValue " pColor" -> Word32 " rangeCount" -> Ptr VkImageSubresourceRange " pRanges" -> IO () type PFN_vkCmdClearColorImage = FunPtr HS_vkCmdClearColorImage -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearColorImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearColorValue* pColor
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearColorImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage
--   
-- -- Note: vkCmdClearColorImageUnsafe and -- vkCmdClearColorImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearColorImage is an alias of -- vkCmdClearColorImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearColorImageSafe. vkCmdClearColorImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearColorValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearColorImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearColorValue* pColor
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearColorImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage
--   
-- -- Note: vkCmdClearColorImageUnsafe and -- vkCmdClearColorImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearColorImage is an alias of -- vkCmdClearColorImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearColorImageSafe. vkCmdClearColorImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearColorValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearColorImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearColorValue* pColor
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearColorImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage
--   
-- -- Note: vkCmdClearColorImageUnsafe and -- vkCmdClearColorImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearColorImage is an alias of -- vkCmdClearColorImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearColorImageSafe. vkCmdClearColorImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearColorValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () type VkCmdClearDepthStencilImage = "vkCmdClearDepthStencilImage" pattern VkCmdClearDepthStencilImage :: CString -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearDepthStencilImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearDepthStencilValue* pDepthStencil
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearDepthStencilImage registry at www.khronos.org type HS_vkCmdClearDepthStencilImage = VkCommandBuffer " commandBuffer" -> VkImage " image" -> VkImageLayout " imageLayout" -> Ptr VkClearDepthStencilValue " pDepthStencil" -> Word32 " rangeCount" -> Ptr VkImageSubresourceRange " pRanges" -> IO () type PFN_vkCmdClearDepthStencilImage = FunPtr HS_vkCmdClearDepthStencilImage -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearDepthStencilImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearDepthStencilValue* pDepthStencil
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearDepthStencilImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage
--   
-- -- Note: vkCmdClearDepthStencilImageUnsafe and -- vkCmdClearDepthStencilImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearDepthStencilImage is an alias of -- vkCmdClearDepthStencilImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearDepthStencilImageSafe. vkCmdClearDepthStencilImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearDepthStencilValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearDepthStencilImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearDepthStencilValue* pDepthStencil
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearDepthStencilImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage
--   
-- -- Note: vkCmdClearDepthStencilImageUnsafe and -- vkCmdClearDepthStencilImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearDepthStencilImage is an alias of -- vkCmdClearDepthStencilImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearDepthStencilImageSafe. vkCmdClearDepthStencilImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearDepthStencilValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdClearDepthStencilImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage image
--       , VkImageLayout imageLayout
--       , const VkClearDepthStencilValue* pDepthStencil
--       , uint32_t rangeCount
--       , const VkImageSubresourceRange* pRanges
--       )
--   
-- -- vkCmdClearDepthStencilImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage
--   
-- -- Note: vkCmdClearDepthStencilImageUnsafe and -- vkCmdClearDepthStencilImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearDepthStencilImage is an alias of -- vkCmdClearDepthStencilImageUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearDepthStencilImageSafe. vkCmdClearDepthStencilImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearDepthStencilValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () type VkCmdClearAttachments = "vkCmdClearAttachments" pattern VkCmdClearAttachments :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdClearAttachments
--       ( VkCommandBuffer commandBuffer
--       , uint32_t attachmentCount
--       , const VkClearAttachment* pAttachments
--       , uint32_t rectCount
--       , const VkClearRect* pRects
--       )
--   
-- -- vkCmdClearAttachments registry at www.khronos.org type HS_vkCmdClearAttachments = VkCommandBuffer " commandBuffer" -> Word32 " attachmentCount" -> Ptr VkClearAttachment " pAttachments" -> Word32 " rectCount" -> Ptr VkClearRect " pRects" -> IO () type PFN_vkCmdClearAttachments = FunPtr HS_vkCmdClearAttachments -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdClearAttachments
--       ( VkCommandBuffer commandBuffer
--       , uint32_t attachmentCount
--       , const VkClearAttachment* pAttachments
--       , uint32_t rectCount
--       , const VkClearRect* pRects
--       )
--   
-- -- vkCmdClearAttachments registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments
--   
-- -- Note: vkCmdClearAttachmentsUnsafe and -- vkCmdClearAttachmentsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearAttachments is an alias of -- vkCmdClearAttachmentsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearAttachmentsSafe. vkCmdClearAttachments :: VkCommandBuffer -> Word32 -> Ptr VkClearAttachment -> Word32 -> Ptr VkClearRect -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdClearAttachments
--       ( VkCommandBuffer commandBuffer
--       , uint32_t attachmentCount
--       , const VkClearAttachment* pAttachments
--       , uint32_t rectCount
--       , const VkClearRect* pRects
--       )
--   
-- -- vkCmdClearAttachments registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments
--   
-- -- Note: vkCmdClearAttachmentsUnsafe and -- vkCmdClearAttachmentsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearAttachments is an alias of -- vkCmdClearAttachmentsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearAttachmentsSafe. vkCmdClearAttachmentsUnsafe :: VkCommandBuffer -> Word32 -> Ptr VkClearAttachment -> Word32 -> Ptr VkClearRect -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdClearAttachments
--       ( VkCommandBuffer commandBuffer
--       , uint32_t attachmentCount
--       , const VkClearAttachment* pAttachments
--       , uint32_t rectCount
--       , const VkClearRect* pRects
--       )
--   
-- -- vkCmdClearAttachments registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance
--   
-- -- or less efficient: -- --
--   myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments
--   
-- -- Note: vkCmdClearAttachmentsUnsafe and -- vkCmdClearAttachmentsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdClearAttachments is an alias of -- vkCmdClearAttachmentsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdClearAttachmentsSafe. vkCmdClearAttachmentsSafe :: VkCommandBuffer -> Word32 -> Ptr VkClearAttachment -> Word32 -> Ptr VkClearRect -> IO () type VkCmdResolveImage = "vkCmdResolveImage" pattern VkCmdResolveImage :: CString -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdResolveImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageResolve* pRegions
--       )
--   
-- -- vkCmdResolveImage registry at www.khronos.org type HS_vkCmdResolveImage = VkCommandBuffer " commandBuffer" -> VkImage " srcImage" -> VkImageLayout " srcImageLayout" -> VkImage " dstImage" -> VkImageLayout " dstImageLayout" -> Word32 " regionCount" -> Ptr VkImageResolve " pRegions" -> IO () type PFN_vkCmdResolveImage = FunPtr HS_vkCmdResolveImage -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdResolveImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageResolve* pRegions
--       )
--   
-- -- vkCmdResolveImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResolveImage <- vkGetProc @VkCmdResolveImage
--   
-- -- Note: vkCmdResolveImageUnsafe and -- vkCmdResolveImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdResolveImage is an alias of -- vkCmdResolveImageUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdResolveImageSafe. vkCmdResolveImage :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageResolve -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdResolveImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageResolve* pRegions
--       )
--   
-- -- vkCmdResolveImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResolveImage <- vkGetProc @VkCmdResolveImage
--   
-- -- Note: vkCmdResolveImageUnsafe and -- vkCmdResolveImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdResolveImage is an alias of -- vkCmdResolveImageUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdResolveImageSafe. vkCmdResolveImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageResolve -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdResolveImage
--       ( VkCommandBuffer commandBuffer
--       , VkImage srcImage
--       , VkImageLayout srcImageLayout
--       , VkImage dstImage
--       , VkImageLayout dstImageLayout
--       , uint32_t regionCount
--       , const VkImageResolve* pRegions
--       )
--   
-- -- vkCmdResolveImage registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResolveImage <- vkGetProc @VkCmdResolveImage
--   
-- -- Note: vkCmdResolveImageUnsafe and -- vkCmdResolveImageSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdResolveImage is an alias of -- vkCmdResolveImageUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdResolveImageSafe. vkCmdResolveImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageResolve -> IO () type VkCmdSetEvent = "vkCmdSetEvent" pattern VkCmdSetEvent :: CString -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdSetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdSetEvent registry at www.khronos.org type HS_vkCmdSetEvent = VkCommandBuffer " commandBuffer" -> VkEvent " event" -> VkPipelineStageFlags " stageMask" -> IO () type PFN_vkCmdSetEvent = FunPtr HS_vkCmdSetEvent -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdSetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdSetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetEvent <- vkGetProc @VkCmdSetEvent
--   
-- -- Note: vkCmdSetEventUnsafe and -- vkCmdSetEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdSetEvent is -- an alias of vkCmdSetEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetEventSafe. vkCmdSetEvent :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdSetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdSetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetEvent <- vkGetProc @VkCmdSetEvent
--   
-- -- Note: vkCmdSetEventUnsafe and -- vkCmdSetEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdSetEvent is -- an alias of vkCmdSetEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetEventSafe. vkCmdSetEventUnsafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdSetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdSetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance
--   
-- -- or less efficient: -- --
--   myCmdSetEvent <- vkGetProc @VkCmdSetEvent
--   
-- -- Note: vkCmdSetEventUnsafe and -- vkCmdSetEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdSetEvent is -- an alias of vkCmdSetEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdSetEventSafe. vkCmdSetEventSafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () type VkCmdResetEvent = "vkCmdResetEvent" pattern VkCmdResetEvent :: CString -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdResetEvent registry at www.khronos.org type HS_vkCmdResetEvent = VkCommandBuffer " commandBuffer" -> VkEvent " event" -> VkPipelineStageFlags " stageMask" -> IO () type PFN_vkCmdResetEvent = FunPtr HS_vkCmdResetEvent -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdResetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResetEvent <- vkGetProc @VkCmdResetEvent
--   
-- -- Note: vkCmdResetEventUnsafe and -- vkCmdResetEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdResetEvent -- is an alias of vkCmdResetEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdResetEventSafe. vkCmdResetEvent :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdResetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResetEvent <- vkGetProc @VkCmdResetEvent
--   
-- -- Note: vkCmdResetEventUnsafe and -- vkCmdResetEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdResetEvent -- is an alias of vkCmdResetEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdResetEventSafe. vkCmdResetEventUnsafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetEvent
--       ( VkCommandBuffer commandBuffer
--       , VkEvent event
--       , VkPipelineStageFlags stageMask
--       )
--   
-- -- vkCmdResetEvent registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResetEvent <- vkGetProc @VkCmdResetEvent
--   
-- -- Note: vkCmdResetEventUnsafe and -- vkCmdResetEventSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdResetEvent -- is an alias of vkCmdResetEventUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdResetEventSafe. vkCmdResetEventSafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () type VkCmdWaitEvents = "vkCmdWaitEvents" pattern VkCmdWaitEvents :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdWaitEvents registry at www.khronos.org type HS_vkCmdWaitEvents = VkCommandBuffer " commandBuffer" -> Word32 " eventCount" -> Ptr VkEvent " pEvents" -> VkPipelineStageFlags " srcStageMask" -> VkPipelineStageFlags " dstStageMask" -> Word32 " memoryBarrierCount" -> Ptr VkMemoryBarrier " pMemoryBarriers" -> Word32 " bufferMemoryBarrierCount" -> Ptr VkBufferMemoryBarrier " pBufferMemoryBarriers" -> Word32 " imageMemoryBarrierCount" -> Ptr VkImageMemoryBarrier " pImageMemoryBarriers" -> IO () type PFN_vkCmdWaitEvents = FunPtr HS_vkCmdWaitEvents -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdWaitEvents registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance
--   
-- -- or less efficient: -- --
--   myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents
--   
-- -- Note: vkCmdWaitEventsUnsafe and -- vkCmdWaitEventsSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdWaitEvents -- is an alias of vkCmdWaitEventsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdWaitEventsSafe. vkCmdWaitEvents :: VkCommandBuffer -> Word32 -> Ptr VkEvent -> VkPipelineStageFlags -> VkPipelineStageFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdWaitEvents registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance
--   
-- -- or less efficient: -- --
--   myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents
--   
-- -- Note: vkCmdWaitEventsUnsafe and -- vkCmdWaitEventsSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdWaitEvents -- is an alias of vkCmdWaitEventsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdWaitEventsSafe. vkCmdWaitEventsUnsafe :: VkCommandBuffer -> Word32 -> Ptr VkEvent -> VkPipelineStageFlags -> VkPipelineStageFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdWaitEvents registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance
--   
-- -- or less efficient: -- --
--   myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents
--   
-- -- Note: vkCmdWaitEventsUnsafe and -- vkCmdWaitEventsSafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdWaitEvents -- is an alias of vkCmdWaitEventsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdWaitEventsSafe. vkCmdWaitEventsSafe :: VkCommandBuffer -> Word32 -> Ptr VkEvent -> VkPipelineStageFlags -> VkPipelineStageFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () type VkCmdPipelineBarrier = "vkCmdPipelineBarrier" pattern VkCmdPipelineBarrier :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdPipelineBarrier registry at www.khronos.org type HS_vkCmdPipelineBarrier = VkCommandBuffer " commandBuffer" -> VkPipelineStageFlags " srcStageMask" -> VkPipelineStageFlags " dstStageMask" -> VkDependencyFlags " dependencyFlags" -> Word32 " memoryBarrierCount" -> Ptr VkMemoryBarrier " pMemoryBarriers" -> Word32 " bufferMemoryBarrierCount" -> Ptr VkBufferMemoryBarrier " pBufferMemoryBarriers" -> Word32 " imageMemoryBarrierCount" -> Ptr VkImageMemoryBarrier " pImageMemoryBarriers" -> IO () type PFN_vkCmdPipelineBarrier = FunPtr HS_vkCmdPipelineBarrier -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdPipelineBarrier registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance
--   
-- -- or less efficient: -- --
--   myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier
--   
-- -- Note: vkCmdPipelineBarrierUnsafe and -- vkCmdPipelineBarrierSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdPipelineBarrier is an alias of -- vkCmdPipelineBarrierUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdPipelineBarrierSafe. vkCmdPipelineBarrier :: VkCommandBuffer -> VkPipelineStageFlags -> VkPipelineStageFlags -> VkDependencyFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdPipelineBarrier registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance
--   
-- -- or less efficient: -- --
--   myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier
--   
-- -- Note: vkCmdPipelineBarrierUnsafe and -- vkCmdPipelineBarrierSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdPipelineBarrier is an alias of -- vkCmdPipelineBarrierUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdPipelineBarrierSafe. vkCmdPipelineBarrierUnsafe :: VkCommandBuffer -> VkPipelineStageFlags -> VkPipelineStageFlags -> VkDependencyFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   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
--       )
--   
-- -- vkCmdPipelineBarrier registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance
--   
-- -- or less efficient: -- --
--   myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier
--   
-- -- Note: vkCmdPipelineBarrierUnsafe and -- vkCmdPipelineBarrierSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdPipelineBarrier is an alias of -- vkCmdPipelineBarrierUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdPipelineBarrierSafe. vkCmdPipelineBarrierSafe :: VkCommandBuffer -> VkPipelineStageFlags -> VkPipelineStageFlags -> VkDependencyFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () type VkCmdBeginQuery = "vkCmdBeginQuery" pattern VkCmdBeginQuery :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBeginQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       , VkQueryControlFlags flags
--       )
--   
-- -- vkCmdBeginQuery registry at www.khronos.org type HS_vkCmdBeginQuery = VkCommandBuffer " commandBuffer" -> VkQueryPool " queryPool" -> Word32 " query" -> VkQueryControlFlags " flags" -> IO () type PFN_vkCmdBeginQuery = FunPtr HS_vkCmdBeginQuery -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBeginQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       , VkQueryControlFlags flags
--       )
--   
-- -- vkCmdBeginQuery registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery
--   
-- -- Note: vkCmdBeginQueryUnsafe and -- vkCmdBeginQuerySafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdBeginQuery -- is an alias of vkCmdBeginQueryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginQuerySafe. vkCmdBeginQuery :: VkCommandBuffer -> VkQueryPool -> Word32 -> VkQueryControlFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBeginQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       , VkQueryControlFlags flags
--       )
--   
-- -- vkCmdBeginQuery registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery
--   
-- -- Note: vkCmdBeginQueryUnsafe and -- vkCmdBeginQuerySafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdBeginQuery -- is an alias of vkCmdBeginQueryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginQuerySafe. vkCmdBeginQueryUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> VkQueryControlFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdBeginQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       , VkQueryControlFlags flags
--       )
--   
-- -- vkCmdBeginQuery registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery
--   
-- -- Note: vkCmdBeginQueryUnsafe and -- vkCmdBeginQuerySafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdBeginQuery -- is an alias of vkCmdBeginQueryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginQuerySafe. vkCmdBeginQuerySafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> VkQueryControlFlags -> IO () type VkCmdEndQuery = "vkCmdEndQuery" pattern VkCmdEndQuery :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdEndQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdEndQuery registry at www.khronos.org type HS_vkCmdEndQuery = VkCommandBuffer " commandBuffer" -> VkQueryPool " queryPool" -> Word32 " query" -> IO () type PFN_vkCmdEndQuery = FunPtr HS_vkCmdEndQuery -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdEndQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdEndQuery registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndQuery <- vkGetProc @VkCmdEndQuery
--   
-- -- Note: vkCmdEndQueryUnsafe and -- vkCmdEndQuerySafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdEndQuery is -- an alias of vkCmdEndQueryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndQuerySafe. vkCmdEndQuery :: VkCommandBuffer -> VkQueryPool -> Word32 -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdEndQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdEndQuery registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndQuery <- vkGetProc @VkCmdEndQuery
--   
-- -- Note: vkCmdEndQueryUnsafe and -- vkCmdEndQuerySafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdEndQuery is -- an alias of vkCmdEndQueryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndQuerySafe. vkCmdEndQueryUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdEndQuery
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdEndQuery registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndQuery <- vkGetProc @VkCmdEndQuery
--   
-- -- Note: vkCmdEndQueryUnsafe and -- vkCmdEndQuerySafe are the unsafe and safe -- FFI imports of this function, respectively. vkCmdEndQuery is -- an alias of vkCmdEndQueryUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndQuerySafe. vkCmdEndQuerySafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> IO () type VkCmdResetQueryPool = "vkCmdResetQueryPool" pattern VkCmdResetQueryPool :: CString -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetQueryPool
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkCmdResetQueryPool registry at www.khronos.org type HS_vkCmdResetQueryPool = VkCommandBuffer " commandBuffer" -> VkQueryPool " queryPool" -> Word32 " firstQuery" -> Word32 " queryCount" -> IO () type PFN_vkCmdResetQueryPool = FunPtr HS_vkCmdResetQueryPool -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetQueryPool
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkCmdResetQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool
--   
-- -- Note: vkCmdResetQueryPoolUnsafe and -- vkCmdResetQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdResetQueryPool is an alias of -- vkCmdResetQueryPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdResetQueryPoolSafe. vkCmdResetQueryPool :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetQueryPool
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkCmdResetQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool
--   
-- -- Note: vkCmdResetQueryPoolUnsafe and -- vkCmdResetQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdResetQueryPool is an alias of -- vkCmdResetQueryPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdResetQueryPoolSafe. vkCmdResetQueryPoolUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- --
--   void vkCmdResetQueryPool
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       )
--   
-- -- vkCmdResetQueryPool registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance
--   
-- -- or less efficient: -- --
--   myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool
--   
-- -- Note: vkCmdResetQueryPoolUnsafe and -- vkCmdResetQueryPoolSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdResetQueryPool is an alias of -- vkCmdResetQueryPoolUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdResetQueryPoolSafe. vkCmdResetQueryPoolSafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> IO () type VkCmdWriteTimestamp = "vkCmdWriteTimestamp" pattern VkCmdWriteTimestamp :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- -- Pipeline: transfer -- --
--   void vkCmdWriteTimestamp
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineStageFlagBits pipelineStage
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdWriteTimestamp registry at www.khronos.org type HS_vkCmdWriteTimestamp = VkCommandBuffer " commandBuffer" -> VkPipelineStageFlagBits " pipelineStage" -> VkQueryPool " queryPool" -> Word32 " query" -> IO () type PFN_vkCmdWriteTimestamp = FunPtr HS_vkCmdWriteTimestamp -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- -- Pipeline: transfer -- --
--   void vkCmdWriteTimestamp
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineStageFlagBits pipelineStage
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdWriteTimestamp registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance
--   
-- -- or less efficient: -- --
--   myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp
--   
-- -- Note: vkCmdWriteTimestampUnsafe and -- vkCmdWriteTimestampSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdWriteTimestamp is an alias of -- vkCmdWriteTimestampUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdWriteTimestampSafe. vkCmdWriteTimestamp :: VkCommandBuffer -> VkPipelineStageFlagBits -> VkQueryPool -> Word32 -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- -- Pipeline: transfer -- --
--   void vkCmdWriteTimestamp
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineStageFlagBits pipelineStage
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdWriteTimestamp registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance
--   
-- -- or less efficient: -- --
--   myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp
--   
-- -- Note: vkCmdWriteTimestampUnsafe and -- vkCmdWriteTimestampSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdWriteTimestamp is an alias of -- vkCmdWriteTimestampUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdWriteTimestampSafe. vkCmdWriteTimestampUnsafe :: VkCommandBuffer -> VkPipelineStageFlagBits -> VkQueryPool -> Word32 -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- -- Pipeline: transfer -- --
--   void vkCmdWriteTimestamp
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineStageFlagBits pipelineStage
--       , VkQueryPool queryPool
--       , uint32_t query
--       )
--   
-- -- vkCmdWriteTimestamp registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance
--   
-- -- or less efficient: -- --
--   myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp
--   
-- -- Note: vkCmdWriteTimestampUnsafe and -- vkCmdWriteTimestampSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdWriteTimestamp is an alias of -- vkCmdWriteTimestampUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdWriteTimestampSafe. vkCmdWriteTimestampSafe :: VkCommandBuffer -> VkPipelineStageFlagBits -> VkQueryPool -> Word32 -> IO () type VkCmdCopyQueryPoolResults = "vkCmdCopyQueryPoolResults" pattern VkCmdCopyQueryPoolResults :: CString -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyQueryPoolResults
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkCmdCopyQueryPoolResults registry at www.khronos.org type HS_vkCmdCopyQueryPoolResults = VkCommandBuffer " commandBuffer" -> VkQueryPool " queryPool" -> Word32 " firstQuery" -> Word32 " queryCount" -> VkBuffer " dstBuffer" -> VkDeviceSize " dstOffset" -> VkDeviceSize " stride" -> VkQueryResultFlags " flags" -> IO () type PFN_vkCmdCopyQueryPoolResults = FunPtr HS_vkCmdCopyQueryPoolResults -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyQueryPoolResults
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkCmdCopyQueryPoolResults registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults
--   
-- -- Note: vkCmdCopyQueryPoolResultsUnsafe and -- vkCmdCopyQueryPoolResultsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyQueryPoolResults is an alias of -- vkCmdCopyQueryPoolResultsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyQueryPoolResultsSafe. vkCmdCopyQueryPoolResults :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkQueryResultFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyQueryPoolResults
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkCmdCopyQueryPoolResults registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults
--   
-- -- Note: vkCmdCopyQueryPoolResultsUnsafe and -- vkCmdCopyQueryPoolResultsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyQueryPoolResults is an alias of -- vkCmdCopyQueryPoolResultsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyQueryPoolResultsSafe. vkCmdCopyQueryPoolResultsUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkQueryResultFlags -> IO () -- | Queues: graphics, compute. -- -- Renderpass: outside -- -- Pipeline: transfer -- --
--   void vkCmdCopyQueryPoolResults
--       ( VkCommandBuffer commandBuffer
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       , uint32_t queryCount
--       , VkBuffer dstBuffer
--       , VkDeviceSize dstOffset
--       , VkDeviceSize stride
--       , VkQueryResultFlags flags
--       )
--   
-- -- vkCmdCopyQueryPoolResults registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance
--   
-- -- or less efficient: -- --
--   myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults
--   
-- -- Note: vkCmdCopyQueryPoolResultsUnsafe and -- vkCmdCopyQueryPoolResultsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdCopyQueryPoolResults is an alias of -- vkCmdCopyQueryPoolResultsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdCopyQueryPoolResultsSafe. vkCmdCopyQueryPoolResultsSafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkQueryResultFlags -> IO () type VkCmdPushConstants = "vkCmdPushConstants" pattern VkCmdPushConstants :: CString -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdPushConstants
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineLayout layout
--       , VkShaderStageFlags stageFlags
--       , uint32_t offset
--       , uint32_t size
--       , const void* pValues
--       )
--   
-- -- vkCmdPushConstants registry at www.khronos.org type HS_vkCmdPushConstants = VkCommandBuffer " commandBuffer" -> VkPipelineLayout " layout" -> VkShaderStageFlags " stageFlags" -> Word32 " offset" -> Word32 " size" -> Ptr Void " pValues" -> IO () type PFN_vkCmdPushConstants = FunPtr HS_vkCmdPushConstants -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdPushConstants
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineLayout layout
--       , VkShaderStageFlags stageFlags
--       , uint32_t offset
--       , uint32_t size
--       , const void* pValues
--       )
--   
-- -- vkCmdPushConstants registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance
--   
-- -- or less efficient: -- --
--   myCmdPushConstants <- vkGetProc @VkCmdPushConstants
--   
-- -- Note: vkCmdPushConstantsUnsafe and -- vkCmdPushConstantsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdPushConstants is an alias of -- vkCmdPushConstantsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdPushConstantsSafe. vkCmdPushConstants :: VkCommandBuffer -> VkPipelineLayout -> VkShaderStageFlags -> Word32 -> Word32 -> Ptr Void -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdPushConstants
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineLayout layout
--       , VkShaderStageFlags stageFlags
--       , uint32_t offset
--       , uint32_t size
--       , const void* pValues
--       )
--   
-- -- vkCmdPushConstants registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance
--   
-- -- or less efficient: -- --
--   myCmdPushConstants <- vkGetProc @VkCmdPushConstants
--   
-- -- Note: vkCmdPushConstantsUnsafe and -- vkCmdPushConstantsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdPushConstants is an alias of -- vkCmdPushConstantsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdPushConstantsSafe. vkCmdPushConstantsUnsafe :: VkCommandBuffer -> VkPipelineLayout -> VkShaderStageFlags -> Word32 -> Word32 -> Ptr Void -> IO () -- | Queues: graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdPushConstants
--       ( VkCommandBuffer commandBuffer
--       , VkPipelineLayout layout
--       , VkShaderStageFlags stageFlags
--       , uint32_t offset
--       , uint32_t size
--       , const void* pValues
--       )
--   
-- -- vkCmdPushConstants registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance
--   
-- -- or less efficient: -- --
--   myCmdPushConstants <- vkGetProc @VkCmdPushConstants
--   
-- -- Note: vkCmdPushConstantsUnsafe and -- vkCmdPushConstantsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdPushConstants is an alias of -- vkCmdPushConstantsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdPushConstantsSafe. vkCmdPushConstantsSafe :: VkCommandBuffer -> VkPipelineLayout -> VkShaderStageFlags -> Word32 -> Word32 -> Ptr Void -> IO () type VkCmdBeginRenderPass = "vkCmdBeginRenderPass" pattern VkCmdBeginRenderPass :: CString -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo* pRenderPassBegin
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdBeginRenderPass registry at www.khronos.org type HS_vkCmdBeginRenderPass = VkCommandBuffer " commandBuffer" -> Ptr VkRenderPassBeginInfo " pRenderPassBegin" -> VkSubpassContents " contents" -> IO () type PFN_vkCmdBeginRenderPass = FunPtr HS_vkCmdBeginRenderPass -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo* pRenderPassBegin
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdBeginRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass
--   
-- -- Note: vkCmdBeginRenderPassUnsafe and -- vkCmdBeginRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBeginRenderPass is an alias of -- vkCmdBeginRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginRenderPassSafe. vkCmdBeginRenderPass :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> VkSubpassContents -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo* pRenderPassBegin
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdBeginRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass
--   
-- -- Note: vkCmdBeginRenderPassUnsafe and -- vkCmdBeginRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBeginRenderPass is an alias of -- vkCmdBeginRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginRenderPassSafe. vkCmdBeginRenderPassUnsafe :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> VkSubpassContents -> IO () -- | Queues: graphics. -- -- Renderpass: outside -- -- Pipeline: graphics -- --
--   void vkCmdBeginRenderPass
--       ( VkCommandBuffer commandBuffer
--       , const VkRenderPassBeginInfo* pRenderPassBegin
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdBeginRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass
--   
-- -- Note: vkCmdBeginRenderPassUnsafe and -- vkCmdBeginRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdBeginRenderPass is an alias of -- vkCmdBeginRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdBeginRenderPassSafe. vkCmdBeginRenderPassSafe :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> VkSubpassContents -> IO () type VkCmdNextSubpass = "vkCmdNextSubpass" pattern VkCmdNextSubpass :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass
--       ( VkCommandBuffer commandBuffer
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdNextSubpass registry at www.khronos.org type HS_vkCmdNextSubpass = VkCommandBuffer " commandBuffer" -> VkSubpassContents " contents" -> IO () type PFN_vkCmdNextSubpass = FunPtr HS_vkCmdNextSubpass -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass
--       ( VkCommandBuffer commandBuffer
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdNextSubpass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass
--   
-- -- Note: vkCmdNextSubpassUnsafe and -- vkCmdNextSubpassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdNextSubpass is an alias of -- vkCmdNextSubpassUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdNextSubpassSafe. vkCmdNextSubpass :: VkCommandBuffer -> VkSubpassContents -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass
--       ( VkCommandBuffer commandBuffer
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdNextSubpass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass
--   
-- -- Note: vkCmdNextSubpassUnsafe and -- vkCmdNextSubpassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdNextSubpass is an alias of -- vkCmdNextSubpassUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdNextSubpassSafe. vkCmdNextSubpassUnsafe :: VkCommandBuffer -> VkSubpassContents -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdNextSubpass
--       ( VkCommandBuffer commandBuffer
--       , VkSubpassContents contents
--       )
--   
-- -- vkCmdNextSubpass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass
--   
-- -- Note: vkCmdNextSubpassUnsafe and -- vkCmdNextSubpassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdNextSubpass is an alias of -- vkCmdNextSubpassUnsafe when the useUnsafeFFIDefault -- cabal flag is enabled; otherwise, it is an alias of -- vkCmdNextSubpassSafe. vkCmdNextSubpassSafe :: VkCommandBuffer -> VkSubpassContents -> IO () type VkCmdEndRenderPass = "vkCmdEndRenderPass" pattern VkCmdEndRenderPass :: CString -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkCmdEndRenderPass registry at www.khronos.org type HS_vkCmdEndRenderPass = VkCommandBuffer " commandBuffer" -> IO () type PFN_vkCmdEndRenderPass = FunPtr HS_vkCmdEndRenderPass -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkCmdEndRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass
--   
-- -- Note: vkCmdEndRenderPassUnsafe and -- vkCmdEndRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdEndRenderPass is an alias of -- vkCmdEndRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndRenderPassSafe. vkCmdEndRenderPass :: VkCommandBuffer -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkCmdEndRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass
--   
-- -- Note: vkCmdEndRenderPassUnsafe and -- vkCmdEndRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdEndRenderPass is an alias of -- vkCmdEndRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndRenderPassSafe. vkCmdEndRenderPassUnsafe :: VkCommandBuffer -> IO () -- | Queues: graphics. -- -- Renderpass: inside -- -- Pipeline: graphics -- --
--   void vkCmdEndRenderPass
--       ( VkCommandBuffer commandBuffer
--       )
--   
-- -- vkCmdEndRenderPass registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance
--   
-- -- or less efficient: -- --
--   myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass
--   
-- -- Note: vkCmdEndRenderPassUnsafe and -- vkCmdEndRenderPassSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdEndRenderPass is an alias of -- vkCmdEndRenderPassUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdEndRenderPassSafe. vkCmdEndRenderPassSafe :: VkCommandBuffer -> IO () type VkCmdExecuteCommands = "vkCmdExecuteCommands" pattern VkCmdExecuteCommands :: CString -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdExecuteCommands
--       ( VkCommandBuffer commandBuffer
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkCmdExecuteCommands registry at www.khronos.org type HS_vkCmdExecuteCommands = VkCommandBuffer " commandBuffer" -> Word32 " commandBufferCount" -> Ptr VkCommandBuffer " pCommandBuffers" -> IO () type PFN_vkCmdExecuteCommands = FunPtr HS_vkCmdExecuteCommands -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdExecuteCommands
--       ( VkCommandBuffer commandBuffer
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkCmdExecuteCommands registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance
--   
-- -- or less efficient: -- --
--   myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands
--   
-- -- Note: vkCmdExecuteCommandsUnsafe and -- vkCmdExecuteCommandsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdExecuteCommands is an alias of -- vkCmdExecuteCommandsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdExecuteCommandsSafe. vkCmdExecuteCommands :: VkCommandBuffer -> Word32 -> Ptr VkCommandBuffer -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdExecuteCommands
--       ( VkCommandBuffer commandBuffer
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkCmdExecuteCommands registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance
--   
-- -- or less efficient: -- --
--   myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands
--   
-- -- Note: vkCmdExecuteCommandsUnsafe and -- vkCmdExecuteCommandsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdExecuteCommands is an alias of -- vkCmdExecuteCommandsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdExecuteCommandsSafe. vkCmdExecuteCommandsUnsafe :: VkCommandBuffer -> Word32 -> Ptr VkCommandBuffer -> IO () -- | Queues: transfer, graphics, compute. -- -- Renderpass: both -- --
--   void vkCmdExecuteCommands
--       ( VkCommandBuffer commandBuffer
--       , uint32_t commandBufferCount
--       , const VkCommandBuffer* pCommandBuffers
--       )
--   
-- -- vkCmdExecuteCommands registry at www.khronos.org -- -- Note: When useNativeFFI-1-0 cabal flag is enabled, -- this function is linked statically as a foreign import call -- to C Vulkan loader. Otherwise, it is looked up dynamically at runtime -- using dlsym-like machinery (platform-dependent). -- -- Independently of the flag setting, you can lookup the function -- manually at runtime: -- --
--   myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance
--   
-- -- or less efficient: -- --
--   myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands
--   
-- -- Note: vkCmdExecuteCommandsUnsafe and -- vkCmdExecuteCommandsSafe are the unsafe and -- safe FFI imports of this function, respectively. -- vkCmdExecuteCommands is an alias of -- vkCmdExecuteCommandsUnsafe when the -- useUnsafeFFIDefault cabal flag is enabled; otherwise, it is -- an alias of vkCmdExecuteCommandsSafe. vkCmdExecuteCommandsSafe :: VkCommandBuffer -> Word32 -> Ptr VkCommandBuffer -> IO () instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdExecuteCommands" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdNextSubpass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPushConstants" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyQueryPoolResults" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWriteTimestamp" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdResetQueryPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndQuery" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginQuery" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPipelineBarrier" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWaitEvents" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdResetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdResolveImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdClearAttachments" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdClearDepthStencilImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdClearColorImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdFillBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdUpdateBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyImageToBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyBufferToImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBlitImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatchIndirect" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatch" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexedIndirect" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirect" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexed" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDraw" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindVertexBuffers" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindIndexBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilReference" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilWriteMask" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilCompareMask" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthBounds" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetBlendConstants" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthBias" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetLineWidth" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetScissor" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetViewport" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindPipeline" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetCommandBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEndCommandBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBeginCommandBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFreeCommandBuffers" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAllocateCommandBuffers" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetRenderAreaGranularity" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyFramebuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateFramebuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUpdateDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFreeDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAllocateDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetDescriptorPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorSetLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorSetLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySampler" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSampler" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyPipelineLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreatePipelineLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyPipeline" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateComputePipelines" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateGraphicsPipelines" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkMergePipelineCaches" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPipelineCacheData" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyPipelineCache" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreatePipelineCache" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyShaderModule" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateShaderModule" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyImageView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateImageView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSubresourceLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyBufferView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateBufferView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetQueryPoolResults" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyQueryPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateQueryPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetEventStatus" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySemaphore" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSemaphore" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkWaitForFences" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetFenceStatus" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetFences" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyFence" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateFence" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueBindSparse" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSparseImageFormatProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSparseMemoryRequirements" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageMemoryRequirements" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferMemoryRequirements" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindImageMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindBufferMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceMemoryCommitment" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkInvalidateMappedMemoryRanges" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFlushMappedMemoryRanges" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUnmapMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkMapMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFreeMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAllocateMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDeviceWaitIdle" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueWaitIdle" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueSubmit" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceQueue" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateDeviceLayerProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateInstanceLayerProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateDeviceExtensionProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateInstanceExtensionProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDevice" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDevice" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceProcAddr" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetInstanceProcAddr" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMemoryProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceImageFormatProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFormatProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFeatures" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumeratePhysicalDevices" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyInstance" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateInstance" module Graphics.Vulkan.Ext.VK_KHR_ray_tracing -- |
--   typedef struct VkAabbPositionsKHR {
--       float                                                   minX;
--       float                                                   minY;
--       float                                                   minZ;
--       float                                                   maxX;
--       float                                                   maxY;
--       float                                                   maxZ;
--   } VkAabbPositionsKHR;
--   
-- -- VkAabbPositionsKHR registry at www.khronos.org type VkAabbPositionsKHR = VkStruct VkAabbPositionsKHR' -- |
--   typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkAccelerationStructureTypeKHR                                     type;
--       VkBuildAccelerationStructureFlagsKHR               flags;
--       VkBool32                                                           update;
--       VkAccelerationStructureKHR                         srcAccelerationStructure;
--       VkAccelerationStructureKHR                                         dstAccelerationStructure;
--       VkBool32                                                           geometryArrayOfPointers;
--       uint32_t                                           geometryCount;
--       const VkAccelerationStructureGeometryKHR* const*   ppGeometries;
--       VkDeviceOrHostAddressKHR                                           scratchData;
--   } VkAccelerationStructureBuildGeometryInfoKHR;
--   
-- -- VkAccelerationStructureBuildGeometryInfoKHR registry at -- www.khronos.org type VkAccelerationStructureBuildGeometryInfoKHR = VkStruct VkAccelerationStructureBuildGeometryInfoKHR' -- |
--   typedef struct VkAccelerationStructureBuildOffsetInfoKHR {
--       uint32_t                                                primitiveCount;
--       uint32_t                                                primitiveOffset;
--       uint32_t                                firstVertex;
--       uint32_t                                transformOffset;
--   } VkAccelerationStructureBuildOffsetInfoKHR;
--   
-- -- VkAccelerationStructureBuildOffsetInfoKHR registry at -- www.khronos.org type VkAccelerationStructureBuildOffsetInfoKHR = VkStruct VkAccelerationStructureBuildOffsetInfoKHR' -- | type = enum -- -- VkAccelerationStructureBuildTypeKHR registry at www.khronos.org newtype VkAccelerationStructureBuildTypeKHR VkAccelerationStructureBuildTypeKHR :: Int32 -> VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR :: VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR -- | type = enum -- -- VkAccelerationStructureMemoryRequirementsTypeKHR registry at -- www.khronos.org newtype VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeKHR :: Int32 -> VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR -- | type = enum -- -- VkAccelerationStructureTypeKHR registry at www.khronos.org newtype VkAccelerationStructureTypeKHR VkAccelerationStructureTypeKHR :: Int32 -> VkAccelerationStructureTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR :: VkAccelerationStructureTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR :: VkAccelerationStructureTypeKHR newtype VkAccelerationStructureMemoryRequirementsTypeNV VkAccelerationStructureMemoryRequirementsTypeNV :: VkFlags -> VkAccelerationStructureMemoryRequirementsTypeNV newtype VkAccelerationStructureTypeNV VkAccelerationStructureTypeNV :: VkFlags -> VkAccelerationStructureTypeNV -- |
--   typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR {
--       VkStructureType sType;
--       const void*                                             pNext;
--       VkGeometryTypeKHR                                       geometryType;
--       uint32_t                                                maxPrimitiveCount;
--       VkIndexType                                              indexType;
--       uint32_t                                maxVertexCount;
--       VkFormat                                vertexFormat;
--       VkBool32                                allowsTransforms;
--   } VkAccelerationStructureCreateGeometryTypeInfoKHR;
--   
-- -- VkAccelerationStructureCreateGeometryTypeInfoKHR registry at -- www.khronos.org type VkAccelerationStructureCreateGeometryTypeInfoKHR = VkStruct VkAccelerationStructureCreateGeometryTypeInfoKHR' -- |
--   typedef struct VkAccelerationStructureCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                             pNext;
--       VkDeviceSize                                            compactedSize;
--       VkAccelerationStructureTypeKHR                          type;
--       VkBuildAccelerationStructureFlagsKHR    flags;
--       uint32_t                                maxGeometryCount;
--       const VkAccelerationStructureCreateGeometryTypeInfoKHR* pGeometryInfos;
--       VkDeviceAddress                         deviceAddress;
--   } VkAccelerationStructureCreateInfoKHR;
--   
-- -- VkAccelerationStructureCreateInfoKHR registry at -- www.khronos.org type VkAccelerationStructureCreateInfoKHR = VkStruct VkAccelerationStructureCreateInfoKHR' -- |
--   typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             accelerationStructure;
--   } VkAccelerationStructureDeviceAddressInfoKHR;
--   
-- -- VkAccelerationStructureDeviceAddressInfoKHR registry at -- www.khronos.org type VkAccelerationStructureDeviceAddressInfoKHR = VkStruct VkAccelerationStructureDeviceAddressInfoKHR' -- |
--   typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkDeviceOrHostAddressConstKHR         data;
--       VkDeviceSize                          stride;
--   } VkAccelerationStructureGeometryAabbsDataKHR;
--   
-- -- VkAccelerationStructureGeometryAabbsDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryAabbsDataKHR = VkStruct VkAccelerationStructureGeometryAabbsDataKHR' -- |
--   typedef union VkAccelerationStructureGeometryDataKHR {
--       VkAccelerationStructureGeometryTrianglesDataKHR triangles;
--       VkAccelerationStructureGeometryAabbsDataKHR         aabbs;
--       VkAccelerationStructureGeometryInstancesDataKHR instances;
--   } VkAccelerationStructureGeometryDataKHR;
--   
-- -- VkAccelerationStructureGeometryDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryDataKHR = VkStruct VkAccelerationStructureGeometryDataKHR' -- |
--   typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkBool32                              arrayOfPointers;
--       VkDeviceOrHostAddressConstKHR         data;
--   } VkAccelerationStructureGeometryInstancesDataKHR;
--   
-- -- VkAccelerationStructureGeometryInstancesDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryInstancesDataKHR = VkStruct VkAccelerationStructureGeometryInstancesDataKHR' -- |
--   typedef struct VkAccelerationStructureGeometryKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkGeometryTypeKHR                      geometryType;
--       VkAccelerationStructureGeometryDataKHR geometry;
--       VkGeometryFlagsKHR     flags;
--   } VkAccelerationStructureGeometryKHR;
--   
-- -- VkAccelerationStructureGeometryKHR registry at www.khronos.org type VkAccelerationStructureGeometryKHR = VkStruct VkAccelerationStructureGeometryKHR' -- |
--   typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
--       VkStructureType sType;
--       const void*                                   pNext;
--       VkFormat                                      vertexFormat;
--       VkDeviceOrHostAddressConstKHR                 vertexData;
--       VkDeviceSize                                  vertexStride;
--       VkIndexType                                   indexType;
--       VkDeviceOrHostAddressConstKHR indexData;
--       VkDeviceOrHostAddressConstKHR transformData;
--   } VkAccelerationStructureGeometryTrianglesDataKHR;
--   
-- -- VkAccelerationStructureGeometryTrianglesDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryTrianglesDataKHR = VkStruct VkAccelerationStructureGeometryTrianglesDataKHR' -- |
--   typedef struct VkAccelerationStructureInstanceKHR {
--       VkTransformMatrixKHR                                    transform;
--       uint32_t                                                instanceCustomIndex:24;
--       uint32_t                                                mask:8;
--       uint32_t                                                instanceShaderBindingTableRecordOffset:24;
--       VkGeometryInstanceFlagsKHR                              flags:8;
--       uint64_t                                                accelerationStructureReference;
--   } VkAccelerationStructureInstanceKHR;
--   
-- -- VkAccelerationStructureInstanceKHR registry at www.khronos.org type VkAccelerationStructureInstanceKHR = VkStruct VkAccelerationStructureInstanceKHR' -- |
--   typedef struct VkAccelerationStructureMemoryRequirementsInfoKHR {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkAccelerationStructureMemoryRequirementsTypeKHR                     type;
--       VkAccelerationStructureBuildTypeKHR                                  buildType;
--       VkAccelerationStructureKHR                                           accelerationStructure;
--   } VkAccelerationStructureMemoryRequirementsInfoKHR;
--   
-- -- VkAccelerationStructureMemoryRequirementsInfoKHR registry at -- www.khronos.org type VkAccelerationStructureMemoryRequirementsInfoKHR = VkStruct VkAccelerationStructureMemoryRequirementsInfoKHR' -- |
--   typedef struct VkAccelerationStructureVersionKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       const uint8_t*                    versionData;
--   } VkAccelerationStructureVersionKHR;
--   
-- -- VkAccelerationStructureVersionKHR registry at www.khronos.org type VkAccelerationStructureVersionKHR = VkStruct VkAccelerationStructureVersionKHR' -- |
--   typedef struct VkBindAccelerationStructureMemoryInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkAccelerationStructureKHR       accelerationStructure;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindAccelerationStructureMemoryInfoKHR;
--   
-- -- VkBindAccelerationStructureMemoryInfoKHR registry at -- www.khronos.org type VkBindAccelerationStructureMemoryInfoKHR = VkStruct VkBindAccelerationStructureMemoryInfoKHR' -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBuildAccelerationStructureBitmaskKHR (a :: FlagType) VkBuildAccelerationStructureBitmaskKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR (a :: FlagType) pattern VkBuildAccelerationStructureFlagBitsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagBit pattern VkBuildAccelerationStructureFlagsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 1 pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 2 pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 3 pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 4 pattern VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a type VkBuildAccelerationStructureFlagBitsKHR = VkBuildAccelerationStructureBitmaskKHR FlagBit newtype VkBuildAccelerationStructureFlagBitsNV VkBuildAccelerationStructureFlagBitsNV :: VkFlags -> VkBuildAccelerationStructureFlagBitsNV type VkBuildAccelerationStructureFlagsKHR = VkBuildAccelerationStructureBitmaskKHR FlagMask -- |
--   typedef struct VkCopyAccelerationStructureInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             src;
--       VkAccelerationStructureKHR                             dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyAccelerationStructureInfoKHR;
--   
-- -- VkCopyAccelerationStructureInfoKHR registry at www.khronos.org type VkCopyAccelerationStructureInfoKHR = VkStruct VkCopyAccelerationStructureInfoKHR' -- | type = enum -- -- VkCopyAccelerationStructureModeKHR registry at www.khronos.org newtype VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeKHR :: Int32 -> VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR newtype VkCopyAccelerationStructureModeNV VkCopyAccelerationStructureModeNV :: VkFlags -> VkCopyAccelerationStructureModeNV -- |
--   typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             src;
--       VkDeviceOrHostAddressKHR                               dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyAccelerationStructureToMemoryInfoKHR;
--   
-- -- VkCopyAccelerationStructureToMemoryInfoKHR registry at -- www.khronos.org type VkCopyAccelerationStructureToMemoryInfoKHR = VkStruct VkCopyAccelerationStructureToMemoryInfoKHR' -- |
--   typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkDeviceOrHostAddressConstKHR                          src;
--       VkAccelerationStructureKHR                             dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyMemoryToAccelerationStructureInfoKHR;
--   
-- -- VkCopyMemoryToAccelerationStructureInfoKHR registry at -- www.khronos.org type VkCopyMemoryToAccelerationStructureInfoKHR = VkStruct VkCopyMemoryToAccelerationStructureInfoKHR' -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' newtype VkDescriptorBindingBitmask (a :: FlagType) VkDescriptorBindingBitmask :: VkFlags -> VkDescriptorBindingBitmask (a :: FlagType) pattern VkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit pattern VkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask -- | bitpos = 0 pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 1 pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 2 pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: VkDescriptorBindingBitmask a -- | bitpos = 3 pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: VkDescriptorBindingBitmask a newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask (a :: FlagType) pattern VkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit pattern VkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask -- | Descriptor sets may be freed individually -- -- bitpos = 0 pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: VkDescriptorPoolCreateBitmask a -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType type VkDescriptorBindingFlagBits = VkDescriptorBindingBitmask FlagBit newtype VkDescriptorBindingFlagBitsEXT VkDescriptorBindingFlagBitsEXT :: VkFlags -> VkDescriptorBindingFlagBitsEXT type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask (a :: FlagType) pattern VkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit pattern VkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkDeviceCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceCreateFlags    flags;
--       uint32_t        queueCreateInfoCount;
--       const VkDeviceQueueCreateInfo* pQueueCreateInfos;
--       uint32_t               enabledLayerCount;
--       const char* const*      ppEnabledLayerNames;
--       uint32_t               enabledExtensionCount;
--       const char* const*      ppEnabledExtensionNames;
--       const VkPhysicalDeviceFeatures* pEnabledFeatures;
--   } VkDeviceCreateInfo;
--   
-- -- VkDeviceCreateInfo registry at www.khronos.org type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- |
--   typedef union VkDeviceOrHostAddressConstKHR {
--       VkDeviceAddress            deviceAddress;
--       const void*                hostAddress;
--   } VkDeviceOrHostAddressConstKHR;
--   
-- -- VkDeviceOrHostAddressConstKHR registry at www.khronos.org type VkDeviceOrHostAddressConstKHR = VkStruct VkDeviceOrHostAddressConstKHR' -- |
--   typedef union VkDeviceOrHostAddressKHR {
--       VkDeviceAddress            deviceAddress;
--       void*                      hostAddress;
--   } VkDeviceOrHostAddressKHR;
--   
-- -- VkDeviceOrHostAddressKHR registry at www.khronos.org type VkDeviceOrHostAddressKHR = VkStruct VkDeviceOrHostAddressKHR' newtype VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) VkDeviceDiagnosticsConfigBitmaskNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV (a :: FlagType) pattern VkDeviceDiagnosticsConfigFlagBitsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagBit pattern VkDeviceDiagnosticsConfigFlagsNV :: VkFlags -> VkDeviceDiagnosticsConfigBitmaskNV FlagMask -- | bitpos = 0 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 1 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | bitpos = 2 pattern VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV :: VkDeviceDiagnosticsConfigBitmaskNV a -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT :: VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) pattern VkDeviceGroupPresentModeFlagBitsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit pattern VkDeviceGroupPresentModeFlagsKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask -- | Present from local memory -- -- bitpos = 0 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present from remote memory -- -- bitpos = 1 pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Present sum of local and/or remote memory -- -- bitpos = 2 pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a -- | Each physical device presents from local memory -- -- bitpos = 3 pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR :: VkDeviceGroupPresentModeBitmaskKHR a newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits type VkDeviceDiagnosticsConfigFlagBitsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagBit type VkDeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigBitmaskNV FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask (a :: FlagType) pattern VkDeviceQueueCreateFlagBits :: VkFlags -> VkDeviceQueueCreateBitmask FlagBit pattern VkDeviceQueueCreateFlags :: VkFlags -> VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask -- |
--   typedef struct VkDeviceQueueCreateInfo {
--       VkStructureType sType;
--       const void*     pNext;
--       VkDeviceQueueCreateFlags    flags;
--       uint32_t        queueFamilyIndex;
--       uint32_t        queueCount;
--       const float*    pQueuePriorities;
--   } VkDeviceQueueCreateInfo;
--   
-- -- VkDeviceQueueCreateInfo registry at www.khronos.org type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkGeometryInstanceBitmaskKHR (a :: FlagType) VkGeometryInstanceBitmaskKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR (a :: FlagType) pattern VkGeometryInstanceFlagBitsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagBit pattern VkGeometryInstanceFlagsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 1 pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 2 pattern VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 3 pattern VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a newtype VkGeometryBitmaskKHR (a :: FlagType) VkGeometryBitmaskKHR :: VkFlags -> VkGeometryBitmaskKHR (a :: FlagType) pattern VkGeometryFlagBitsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagBit pattern VkGeometryFlagsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_GEOMETRY_OPAQUE_BIT_KHR :: VkGeometryBitmaskKHR a -- | bitpos = 1 pattern VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: VkGeometryBitmaskKHR a -- | type = enum -- -- VkGeometryTypeKHR registry at www.khronos.org newtype VkGeometryTypeKHR VkGeometryTypeKHR :: Int32 -> VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_TRIANGLES_KHR :: VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_AABBS_KHR :: VkGeometryTypeKHR type VkGeometryFlagBitsKHR = VkGeometryBitmaskKHR FlagBit newtype VkGeometryFlagBitsNV VkGeometryFlagBitsNV :: VkFlags -> VkGeometryFlagBitsNV type VkGeometryFlagsKHR = VkGeometryBitmaskKHR FlagMask type VkGeometryInstanceFlagBitsKHR = VkGeometryInstanceBitmaskKHR FlagBit newtype VkGeometryInstanceFlagBitsNV VkGeometryInstanceFlagBitsNV :: VkFlags -> VkGeometryInstanceFlagBitsNV type VkGeometryInstanceFlagsKHR = VkGeometryInstanceBitmaskKHR FlagMask newtype VkGeometryTypeNV VkGeometryTypeNV :: VkFlags -> VkGeometryTypeNV newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask (a :: FlagType) pattern VkImageAspectFlagBits :: VkFlags -> VkImageAspectBitmask FlagBit pattern VkImageAspectFlags :: VkFlags -> VkImageAspectBitmask FlagMask -- | bitpos = 0 pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a -- | bitpos = 1 pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a -- | bitpos = 2 pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a -- | bitpos = 3 pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask (a :: FlagType) pattern VkImageCreateFlagBits :: VkFlags -> VkImageCreateBitmask FlagBit pattern VkImageCreateFlags :: VkFlags -> VkImageCreateBitmask FlagMask -- | Image should support sparse backing -- -- bitpos = 0 pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT :: VkImageCreateBitmask a -- | Image should support sparse backing with partial residency -- -- bitpos = 1 pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT :: VkImageCreateBitmask a -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT :: VkImageCreateBitmask a -- | Allows image views to have different format than the base image -- -- bitpos = 3 pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT :: VkImageCreateBitmask a -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT :: VkImageCreateBitmask a -- | type = enum -- -- VkImageLayout registry at www.khronos.org newtype VkImageLayout VkImageLayout :: Int32 -> VkImageLayout -- | Implicit layout an image is when its contents are undefined due to -- various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout -- | General layout when image can be used for any kind of access pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout -- | Optimal layout when image is only used for color attachment read/write pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is only used for depthstencil attachment -- readwrite pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used for read only shader access pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as source of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout -- | Optimal layout when image is used only as destination of transfer -- operations pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout -- | Initial layout used when the data is populated by the CPU pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType pattern VK_IMAGE_TYPE_1D :: VkImageType pattern VK_IMAGE_TYPE_2D :: VkImageType pattern VK_IMAGE_TYPE_3D :: VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask (a :: FlagType) pattern VkImageUsageFlagBits :: VkFlags -> VkImageUsageBitmask FlagBit pattern VkImageUsageFlags :: VkFlags -> VkImageUsageBitmask FlagMask -- | Can be used as a source of transfer operations -- -- bitpos = 0 pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a -- | Can be used as a destination of transfer operations -- -- bitpos = 1 pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer color attachment -- -- bitpos = 4 pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Image data not needed outside of rendering -- -- bitpos = 6 pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | Can be used as framebuffer input attachment -- -- bitpos = 7 pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT :: VkImageUsageBitmask a -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit type VkImageUsageFlags = VkImageUsageBitmask FlagMask newtype VkImageViewCreateBitmask (a :: FlagType) VkImageViewCreateBitmask :: VkFlags -> VkImageViewCreateBitmask (a :: FlagType) pattern VkImageViewCreateFlagBits :: VkFlags -> VkImageViewCreateBitmask FlagBit pattern VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateBitmask FlagMask type VkImageViewCreateFlagBits = VkImageViewCreateBitmask FlagBit type VkImageViewCreateFlags = VkImageViewCreateBitmask FlagMask -- | type = enum -- -- VkIndexType registry at www.khronos.org newtype VkIndexType VkIndexType :: Int32 -> VkIndexType pattern VK_INDEX_TYPE_UINT16 :: VkIndexType pattern VK_INDEX_TYPE_UINT32 :: VkIndexType -- |
--   typedef struct VkPhysicalDeviceFeatures {
--       VkBool32               robustBufferAccess;
--       VkBool32               fullDrawIndexUint32;
--       VkBool32               imageCubeArray;
--       VkBool32               independentBlend;
--       VkBool32               geometryShader;
--       VkBool32               tessellationShader;
--       VkBool32               sampleRateShading;
--       VkBool32               dualSrcBlend;
--       VkBool32               logicOp;
--       VkBool32               multiDrawIndirect;
--       VkBool32               drawIndirectFirstInstance;
--       VkBool32               depthClamp;
--       VkBool32               depthBiasClamp;
--       VkBool32               fillModeNonSolid;
--       VkBool32               depthBounds;
--       VkBool32               wideLines;
--       VkBool32               largePoints;
--       VkBool32               alphaToOne;
--       VkBool32               multiViewport;
--       VkBool32               samplerAnisotropy;
--       VkBool32               textureCompressionETC2;
--       VkBool32               textureCompressionASTC_LDR;
--       VkBool32               textureCompressionBC;
--       VkBool32               occlusionQueryPrecise;
--       VkBool32               pipelineStatisticsQuery;
--       VkBool32               vertexPipelineStoresAndAtomics;
--       VkBool32               fragmentStoresAndAtomics;
--       VkBool32               shaderTessellationAndGeometryPointSize;
--       VkBool32               shaderImageGatherExtended;
--       VkBool32               shaderStorageImageExtendedFormats;
--       VkBool32               shaderStorageImageMultisample;
--       VkBool32               shaderStorageImageReadWithoutFormat;
--       VkBool32               shaderStorageImageWriteWithoutFormat;
--       VkBool32               shaderUniformBufferArrayDynamicIndexing;
--       VkBool32               shaderSampledImageArrayDynamicIndexing;
--       VkBool32               shaderStorageBufferArrayDynamicIndexing;
--       VkBool32               shaderStorageImageArrayDynamicIndexing;
--       VkBool32               shaderClipDistance;
--       VkBool32               shaderCullDistance;
--       VkBool32               shaderFloat64;
--       VkBool32               shaderInt64;
--       VkBool32               shaderInt16;
--       VkBool32               shaderResourceResidency;
--       VkBool32               shaderResourceMinLod;
--       VkBool32               sparseBinding;
--       VkBool32               sparseResidencyBuffer;
--       VkBool32               sparseResidencyImage2D;
--       VkBool32               sparseResidencyImage3D;
--       VkBool32               sparseResidency2Samples;
--       VkBool32               sparseResidency4Samples;
--       VkBool32               sparseResidency8Samples;
--       VkBool32               sparseResidency16Samples;
--       VkBool32               sparseResidencyAliased;
--       VkBool32               variableMultisampleRate;
--       VkBool32               inheritedQueries;
--   } VkPhysicalDeviceFeatures;
--   
-- -- VkPhysicalDeviceFeatures registry at www.khronos.org type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org type VkPhysicalDeviceFeatures2 = VkStruct VkPhysicalDeviceFeatures2' -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceRayTracingFeaturesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         rayTracing;
--       VkBool32                         rayTracingShaderGroupHandleCaptureReplay;
--       VkBool32                         rayTracingShaderGroupHandleCaptureReplayMixed;
--       VkBool32                         rayTracingAccelerationStructureCaptureReplay;
--       VkBool32                         rayTracingIndirectTraceRays;
--       VkBool32                         rayTracingIndirectAccelerationStructureBuild;
--       VkBool32                         rayTracingHostAccelerationStructureCommands;
--       VkBool32                         rayQuery;
--       VkBool32                         rayTracingPrimitiveCulling;
--   } VkPhysicalDeviceRayTracingFeaturesKHR;
--   
-- -- VkPhysicalDeviceRayTracingFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceRayTracingFeaturesKHR = VkStruct VkPhysicalDeviceRayTracingFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxPrimitiveCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--       uint32_t                         shaderGroupHandleCaptureReplaySize;
--   } VkPhysicalDeviceRayTracingPropertiesKHR;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesKHR registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesKHR = VkStruct VkPhysicalDeviceRayTracingPropertiesKHR' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineLibraryCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                               libraryCount;
--       const VkPipeline*                   pLibraries;
--   } VkPipelineLibraryCreateInfoKHR;
--   
-- -- VkPipelineLibraryCreateInfoKHR registry at www.khronos.org type VkPipelineLibraryCreateInfoKHR = VkStruct VkPipelineLibraryCreateInfoKHR' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkRayTracingPipelineCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       uint32_t groupCount;
--       const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
--       uint32_t               maxRecursionDepth;
--       VkPipelineLibraryCreateInfoKHR libraries;
--       const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkRayTracingPipelineCreateInfoKHR;
--   
-- -- VkRayTracingPipelineCreateInfoKHR registry at www.khronos.org type VkRayTracingPipelineCreateInfoKHR = VkStruct VkRayTracingPipelineCreateInfoKHR' -- |
--   typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                                               maxPayloadSize;
--       uint32_t                                               maxAttributeSize;
--       uint32_t                                               maxCallableSize;
--   } VkRayTracingPipelineInterfaceCreateInfoKHR;
--   
-- -- VkRayTracingPipelineInterfaceCreateInfoKHR registry at -- www.khronos.org type VkRayTracingPipelineInterfaceCreateInfoKHR = VkStruct VkRayTracingPipelineInterfaceCreateInfoKHR' -- |
--   typedef struct VkRayTracingShaderGroupCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRayTracingShaderGroupTypeKHR type;
--       uint32_t               generalShader;
--       uint32_t               closestHitShader;
--       uint32_t               anyHitShader;
--       uint32_t               intersectionShader;
--       const void* pShaderGroupCaptureReplayHandle;
--   } VkRayTracingShaderGroupCreateInfoKHR;
--   
-- -- VkRayTracingShaderGroupCreateInfoKHR registry at -- www.khronos.org type VkRayTracingShaderGroupCreateInfoKHR = VkStruct VkRayTracingShaderGroupCreateInfoKHR' -- | type = enum -- -- VkRayTracingShaderGroupTypeKHR registry at www.khronos.org newtype VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeKHR :: Int32 -> VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR newtype VkRayTracingShaderGroupTypeNV VkRayTracingShaderGroupTypeNV :: VkFlags -> VkRayTracingShaderGroupTypeNV newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' -- |
--   typedef struct VkStridedBufferRegionKHR {
--       VkBuffer         buffer;
--       VkDeviceSize                     offset;
--       VkDeviceSize                     stride;
--       VkDeviceSize                     size;
--   } VkStridedBufferRegionKHR;
--   
-- -- VkStridedBufferRegionKHR registry at www.khronos.org type VkStridedBufferRegionKHR = VkStruct VkStridedBufferRegionKHR' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkTraceRaysIndirectCommandKHR {
--       uint32_t               width;
--       uint32_t               height;
--       uint32_t               depth;
--   } VkTraceRaysIndirectCommandKHR;
--   
-- -- VkTraceRaysIndirectCommandKHR registry at www.khronos.org type VkTraceRaysIndirectCommandKHR = VkStruct VkTraceRaysIndirectCommandKHR' -- |
--   typedef struct VkTransformMatrixKHR {
--       float                                                   matrix[3][4];
--   } VkTransformMatrixKHR;
--   
-- -- VkTransformMatrixKHR registry at www.khronos.org type VkTransformMatrixKHR = VkStruct VkTransformMatrixKHR' -- |
--   typedef struct VkWriteDescriptorSet {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSet        dstSet;
--       uint32_t               dstBinding;
--       uint32_t               dstArrayElement;
--       uint32_t               descriptorCount;
--       VkDescriptorType       descriptorType;
--       const VkDescriptorImageInfo* pImageInfo;
--       const VkDescriptorBufferInfo* pBufferInfo;
--       const VkBufferView*    pTexelBufferView;
--   } VkWriteDescriptorSet;
--   
-- -- VkWriteDescriptorSet registry at www.khronos.org type VkWriteDescriptorSet = VkStruct VkWriteDescriptorSet' -- |
--   typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         accelerationStructureCount;
--       const VkAccelerationStructureKHR* pAccelerationStructures;
--   } VkWriteDescriptorSetAccelerationStructureKHR;
--   
-- -- VkWriteDescriptorSetAccelerationStructureKHR registry at -- www.khronos.org type VkWriteDescriptorSetAccelerationStructureKHR = VkStruct VkWriteDescriptorSetAccelerationStructureKHR' type VkCreateAccelerationStructureKHR = "vkCreateAccelerationStructureKHR" pattern VkCreateAccelerationStructureKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR. -- --
--   VkResult vkCreateAccelerationStructureKHR
--       ( VkDevice                                           device
--       , const VkAccelerationStructureCreateInfoKHR*        pCreateInfo
--       , const VkAllocationCallbacks*       pAllocator
--       , VkAccelerationStructureKHR*                        pAccelerationStructure
--       )
--   
-- -- vkCreateAccelerationStructureKHR registry at www.khronos.org type HS_vkCreateAccelerationStructureKHR = VkDevice " device" -> Ptr VkAccelerationStructureCreateInfoKHR " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkAccelerationStructureKHR " pAccelerationStructure" -> IO VkResult type PFN_vkCreateAccelerationStructureKHR = FunPtr HS_vkCreateAccelerationStructureKHR type VkDestroyAccelerationStructureKHR = "vkDestroyAccelerationStructureKHR" pattern VkDestroyAccelerationStructureKHR :: CString -- |
--   void vkDestroyAccelerationStructureKHR
--       ( VkDevice device
--       , VkAccelerationStructureKHR accelerationStructure
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyAccelerationStructureKHR registry at www.khronos.org type HS_vkDestroyAccelerationStructureKHR = VkDevice " device" -> VkAccelerationStructureKHR " accelerationStructure" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyAccelerationStructureKHR = FunPtr HS_vkDestroyAccelerationStructureKHR type VkGetAccelerationStructureMemoryRequirementsKHR = "vkGetAccelerationStructureMemoryRequirementsKHR" pattern VkGetAccelerationStructureMemoryRequirementsKHR :: CString -- |
--   void vkGetAccelerationStructureMemoryRequirementsKHR
--       ( VkDevice device
--       , const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo
--       , VkMemoryRequirements2* pMemoryRequirements
--       )
--   
-- -- vkGetAccelerationStructureMemoryRequirementsKHR registry at -- www.khronos.org type HS_vkGetAccelerationStructureMemoryRequirementsKHR = VkDevice " device" -> Ptr VkAccelerationStructureMemoryRequirementsInfoKHR " pInfo" -> Ptr VkMemoryRequirements2 " pMemoryRequirements" -> IO () type PFN_vkGetAccelerationStructureMemoryRequirementsKHR = FunPtr HS_vkGetAccelerationStructureMemoryRequirementsKHR type VkBindAccelerationStructureMemoryKHR = "vkBindAccelerationStructureMemoryKHR" pattern VkBindAccelerationStructureMemoryKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindAccelerationStructureMemoryKHR
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos
--       )
--   
-- -- vkBindAccelerationStructureMemoryKHR registry at -- www.khronos.org type HS_vkBindAccelerationStructureMemoryKHR = VkDevice " device" -> Word32 " bindInfoCount" -> Ptr VkBindAccelerationStructureMemoryInfoKHR " pBindInfos" -> IO VkResult type PFN_vkBindAccelerationStructureMemoryKHR = FunPtr HS_vkBindAccelerationStructureMemoryKHR type VkCmdBuildAccelerationStructureKHR = "vkCmdBuildAccelerationStructureKHR" pattern VkCmdBuildAccelerationStructureKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdBuildAccelerationStructureKHR
--       ( VkCommandBuffer                                    commandBuffer
--       , uint32_t infoCount
--       , const VkAccelerationStructureBuildGeometryInfoKHR* pInfos
--       , const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos
--       )
--   
-- -- vkCmdBuildAccelerationStructureKHR registry at www.khronos.org type HS_vkCmdBuildAccelerationStructureKHR = VkCommandBuffer " commandBuffer" -> Word32 " infoCount" -> Ptr VkAccelerationStructureBuildGeometryInfoKHR " pInfos" -> Ptr (Ptr VkAccelerationStructureBuildOffsetInfoKHR) " ppOffsetInfos" -> IO () type PFN_vkCmdBuildAccelerationStructureKHR = FunPtr HS_vkCmdBuildAccelerationStructureKHR type VkCmdBuildAccelerationStructureIndirectKHR = "vkCmdBuildAccelerationStructureIndirectKHR" pattern VkCmdBuildAccelerationStructureIndirectKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdBuildAccelerationStructureIndirectKHR
--       ( VkCommandBuffer                  commandBuffer
--       , const VkAccelerationStructureBuildGeometryInfoKHR* pInfo
--       , VkBuffer                                           indirectBuffer
--       , VkDeviceSize                                       indirectOffset
--       , uint32_t                                           indirectStride
--       )
--   
-- -- vkCmdBuildAccelerationStructureIndirectKHR registry at -- www.khronos.org type HS_vkCmdBuildAccelerationStructureIndirectKHR = VkCommandBuffer " commandBuffer" -> Ptr VkAccelerationStructureBuildGeometryInfoKHR " pInfo" -> VkBuffer " indirectBuffer" -> VkDeviceSize " indirectOffset" -> Word32 " indirectStride" -> IO () type PFN_vkCmdBuildAccelerationStructureIndirectKHR = FunPtr HS_vkCmdBuildAccelerationStructureIndirectKHR type VkBuildAccelerationStructureKHR = "vkBuildAccelerationStructureKHR" pattern VkBuildAccelerationStructureKHR :: CString -- | Success codes: VK_SUCCESS, VK_OPERATION_DEFERRED_KHR, -- VK_OPERATION_NOT_DEFERRED_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBuildAccelerationStructureKHR
--       ( VkDevice                                           device
--       , uint32_t infoCount
--       , const VkAccelerationStructureBuildGeometryInfoKHR* pInfos
--       , const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos
--       )
--   
-- -- vkBuildAccelerationStructureKHR registry at www.khronos.org type HS_vkBuildAccelerationStructureKHR = VkDevice " device" -> Word32 " infoCount" -> Ptr VkAccelerationStructureBuildGeometryInfoKHR " pInfos" -> Ptr (Ptr VkAccelerationStructureBuildOffsetInfoKHR) " ppOffsetInfos" -> IO VkResult type PFN_vkBuildAccelerationStructureKHR = FunPtr HS_vkBuildAccelerationStructureKHR type VkCopyAccelerationStructureKHR = "vkCopyAccelerationStructureKHR" pattern VkCopyAccelerationStructureKHR :: CString -- | Success codes: VK_SUCCESS, VK_OPERATION_DEFERRED_KHR, -- VK_OPERATION_NOT_DEFERRED_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCopyAccelerationStructureKHR
--       ( VkDevice device
--       , const VkCopyAccelerationStructureInfoKHR* pInfo
--       )
--   
-- -- vkCopyAccelerationStructureKHR registry at www.khronos.org type HS_vkCopyAccelerationStructureKHR = VkDevice " device" -> Ptr VkCopyAccelerationStructureInfoKHR " pInfo" -> IO VkResult type PFN_vkCopyAccelerationStructureKHR = FunPtr HS_vkCopyAccelerationStructureKHR type VkCopyAccelerationStructureToMemoryKHR = "vkCopyAccelerationStructureToMemoryKHR" pattern VkCopyAccelerationStructureToMemoryKHR :: CString -- | Success codes: VK_SUCCESS, VK_OPERATION_DEFERRED_KHR, -- VK_OPERATION_NOT_DEFERRED_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCopyAccelerationStructureToMemoryKHR
--       ( VkDevice device
--       , const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo
--       )
--   
-- -- vkCopyAccelerationStructureToMemoryKHR registry at -- www.khronos.org type HS_vkCopyAccelerationStructureToMemoryKHR = VkDevice " device" -> Ptr VkCopyAccelerationStructureToMemoryInfoKHR " pInfo" -> IO VkResult type PFN_vkCopyAccelerationStructureToMemoryKHR = FunPtr HS_vkCopyAccelerationStructureToMemoryKHR type VkCopyMemoryToAccelerationStructureKHR = "vkCopyMemoryToAccelerationStructureKHR" pattern VkCopyMemoryToAccelerationStructureKHR :: CString -- | Success codes: VK_SUCCESS, VK_OPERATION_DEFERRED_KHR, -- VK_OPERATION_NOT_DEFERRED_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCopyMemoryToAccelerationStructureKHR
--       ( VkDevice device
--       , const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo
--       )
--   
-- -- vkCopyMemoryToAccelerationStructureKHR registry at -- www.khronos.org type HS_vkCopyMemoryToAccelerationStructureKHR = VkDevice " device" -> Ptr VkCopyMemoryToAccelerationStructureInfoKHR " pInfo" -> IO VkResult type PFN_vkCopyMemoryToAccelerationStructureKHR = FunPtr HS_vkCopyMemoryToAccelerationStructureKHR type VkWriteAccelerationStructuresPropertiesKHR = "vkWriteAccelerationStructuresPropertiesKHR" pattern VkWriteAccelerationStructuresPropertiesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkWriteAccelerationStructuresPropertiesKHR
--       ( VkDevice device
--       , uint32_t accelerationStructureCount
--       , const VkAccelerationStructureKHR* pAccelerationStructures
--       , VkQueryType  queryType
--       , size_t       dataSize
--       , void* pData
--       , size_t stride
--       )
--   
-- -- vkWriteAccelerationStructuresPropertiesKHR registry at -- www.khronos.org type HS_vkWriteAccelerationStructuresPropertiesKHR = VkDevice " device" -> Word32 " accelerationStructureCount" -> Ptr VkAccelerationStructureKHR " pAccelerationStructures" -> VkQueryType " queryType" -> CSize " dataSize" -> Ptr Void " pData" -> CSize " stride" -> IO VkResult type PFN_vkWriteAccelerationStructuresPropertiesKHR = FunPtr HS_vkWriteAccelerationStructuresPropertiesKHR type VkCmdCopyAccelerationStructureKHR = "vkCmdCopyAccelerationStructureKHR" pattern VkCmdCopyAccelerationStructureKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdCopyAccelerationStructureKHR
--       ( VkCommandBuffer commandBuffer
--       , const VkCopyAccelerationStructureInfoKHR* pInfo
--       )
--   
-- -- vkCmdCopyAccelerationStructureKHR registry at www.khronos.org type HS_vkCmdCopyAccelerationStructureKHR = VkCommandBuffer " commandBuffer" -> Ptr VkCopyAccelerationStructureInfoKHR " pInfo" -> IO () type PFN_vkCmdCopyAccelerationStructureKHR = FunPtr HS_vkCmdCopyAccelerationStructureKHR type VkCmdCopyAccelerationStructureToMemoryKHR = "vkCmdCopyAccelerationStructureToMemoryKHR" pattern VkCmdCopyAccelerationStructureToMemoryKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdCopyAccelerationStructureToMemoryKHR
--       ( VkCommandBuffer commandBuffer
--       , const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo
--       )
--   
-- -- vkCmdCopyAccelerationStructureToMemoryKHR registry at -- www.khronos.org type HS_vkCmdCopyAccelerationStructureToMemoryKHR = VkCommandBuffer " commandBuffer" -> Ptr VkCopyAccelerationStructureToMemoryInfoKHR " pInfo" -> IO () type PFN_vkCmdCopyAccelerationStructureToMemoryKHR = FunPtr HS_vkCmdCopyAccelerationStructureToMemoryKHR type VkCmdCopyMemoryToAccelerationStructureKHR = "vkCmdCopyMemoryToAccelerationStructureKHR" pattern VkCmdCopyMemoryToAccelerationStructureKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdCopyMemoryToAccelerationStructureKHR
--       ( VkCommandBuffer commandBuffer
--       , const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo
--       )
--   
-- -- vkCmdCopyMemoryToAccelerationStructureKHR registry at -- www.khronos.org type HS_vkCmdCopyMemoryToAccelerationStructureKHR = VkCommandBuffer " commandBuffer" -> Ptr VkCopyMemoryToAccelerationStructureInfoKHR " pInfo" -> IO () type PFN_vkCmdCopyMemoryToAccelerationStructureKHR = FunPtr HS_vkCmdCopyMemoryToAccelerationStructureKHR type VkCmdTraceRaysKHR = "vkCmdTraceRaysKHR" pattern VkCmdTraceRaysKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdTraceRaysKHR
--       ( VkCommandBuffer commandBuffer
--       , const VkStridedBufferRegionKHR* pRaygenShaderBindingTable
--       , const VkStridedBufferRegionKHR* pMissShaderBindingTable
--       , const VkStridedBufferRegionKHR* pHitShaderBindingTable
--       , const VkStridedBufferRegionKHR* pCallableShaderBindingTable
--       , uint32_t width
--       , uint32_t height
--       , uint32_t depth
--       )
--   
-- -- vkCmdTraceRaysKHR registry at www.khronos.org type HS_vkCmdTraceRaysKHR = VkCommandBuffer " commandBuffer" -> Ptr VkStridedBufferRegionKHR " pRaygenShaderBindingTable" -> Ptr VkStridedBufferRegionKHR " pMissShaderBindingTable" -> Ptr VkStridedBufferRegionKHR " pHitShaderBindingTable" -> Ptr VkStridedBufferRegionKHR " pCallableShaderBindingTable" -> Word32 " width" -> Word32 " height" -> Word32 " depth" -> IO () type PFN_vkCmdTraceRaysKHR = FunPtr HS_vkCmdTraceRaysKHR type VkCreateRayTracingPipelinesKHR = "vkCreateRayTracingPipelinesKHR" pattern VkCreateRayTracingPipelinesKHR :: CString -- | Success codes: VK_SUCCESS, VK_OPERATION_DEFERRED_KHR, -- VK_OPERATION_NOT_DEFERRED_KHR, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS. -- --
--   VkResult vkCreateRayTracingPipelinesKHR
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkRayTracingPipelineCreateInfoKHR* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateRayTracingPipelinesKHR registry at www.khronos.org type HS_vkCreateRayTracingPipelinesKHR = VkDevice " device" -> VkPipelineCache " pipelineCache" -> Word32 " createInfoCount" -> Ptr VkRayTracingPipelineCreateInfoKHR " pCreateInfos" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkPipeline " pPipelines" -> IO VkResult type PFN_vkCreateRayTracingPipelinesKHR = FunPtr HS_vkCreateRayTracingPipelinesKHR type VkGetRayTracingShaderGroupHandlesKHR = "vkGetRayTracingShaderGroupHandlesKHR" pattern VkGetRayTracingShaderGroupHandlesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetRayTracingShaderGroupHandlesKHR
--       ( VkDevice device
--       , VkPipeline pipeline
--       , uint32_t firstGroup
--       , uint32_t groupCount
--       , size_t dataSize
--       , void* pData
--       )
--   
-- -- vkGetRayTracingShaderGroupHandlesKHR registry at -- www.khronos.org type HS_vkGetRayTracingShaderGroupHandlesKHR = VkDevice " device" -> VkPipeline " pipeline" -> Word32 " firstGroup" -> Word32 " groupCount" -> CSize " dataSize" -> Ptr Void " pData" -> IO VkResult type PFN_vkGetRayTracingShaderGroupHandlesKHR = FunPtr HS_vkGetRayTracingShaderGroupHandlesKHR type VkGetAccelerationStructureDeviceAddressKHR = "vkGetAccelerationStructureDeviceAddressKHR" pattern VkGetAccelerationStructureDeviceAddressKHR :: CString -- |
--   VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR
--       ( VkDevice device
--       , const VkAccelerationStructureDeviceAddressInfoKHR* pInfo
--       )
--   
-- -- vkGetAccelerationStructureDeviceAddressKHR registry at -- www.khronos.org type HS_vkGetAccelerationStructureDeviceAddressKHR = VkDevice " device" -> Ptr VkAccelerationStructureDeviceAddressInfoKHR " pInfo" -> IO VkDeviceAddress type PFN_vkGetAccelerationStructureDeviceAddressKHR = FunPtr HS_vkGetAccelerationStructureDeviceAddressKHR type VkGetRayTracingCaptureReplayShaderGroupHandlesKHR = "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" pattern VkGetRayTracingCaptureReplayShaderGroupHandlesKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
--       ( VkDevice device
--       , VkPipeline pipeline
--       , uint32_t firstGroup
--       , uint32_t groupCount
--       , size_t dataSize
--       , void* pData
--       )
--   
-- -- vkGetRayTracingCaptureReplayShaderGroupHandlesKHR registry at -- www.khronos.org type HS_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = VkDevice " device" -> VkPipeline " pipeline" -> Word32 " firstGroup" -> Word32 " groupCount" -> CSize " dataSize" -> Ptr Void " pData" -> IO VkResult type PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = FunPtr HS_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR type VkCmdWriteAccelerationStructuresPropertiesKHR = "vkCmdWriteAccelerationStructuresPropertiesKHR" pattern VkCmdWriteAccelerationStructuresPropertiesKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdWriteAccelerationStructuresPropertiesKHR
--       ( VkCommandBuffer commandBuffer
--       , uint32_t accelerationStructureCount
--       , const VkAccelerationStructureKHR* pAccelerationStructures
--       , VkQueryType queryType
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       )
--   
-- -- vkCmdWriteAccelerationStructuresPropertiesKHR registry at -- www.khronos.org type HS_vkCmdWriteAccelerationStructuresPropertiesKHR = VkCommandBuffer " commandBuffer" -> Word32 " accelerationStructureCount" -> Ptr VkAccelerationStructureKHR " pAccelerationStructures" -> VkQueryType " queryType" -> VkQueryPool " queryPool" -> Word32 " firstQuery" -> IO () type PFN_vkCmdWriteAccelerationStructuresPropertiesKHR = FunPtr HS_vkCmdWriteAccelerationStructuresPropertiesKHR type VkCmdTraceRaysIndirectKHR = "vkCmdTraceRaysIndirectKHR" pattern VkCmdTraceRaysIndirectKHR :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdTraceRaysIndirectKHR
--       ( VkCommandBuffer commandBuffer
--       , const VkStridedBufferRegionKHR* pRaygenShaderBindingTable
--       , const VkStridedBufferRegionKHR* pMissShaderBindingTable
--       , const VkStridedBufferRegionKHR* pHitShaderBindingTable
--       , const VkStridedBufferRegionKHR* pCallableShaderBindingTable
--       , VkBuffer buffer
--       , VkDeviceSize offset
--       )
--   
-- -- vkCmdTraceRaysIndirectKHR registry at www.khronos.org type HS_vkCmdTraceRaysIndirectKHR = VkCommandBuffer " commandBuffer" -> Ptr VkStridedBufferRegionKHR " pRaygenShaderBindingTable" -> Ptr VkStridedBufferRegionKHR " pMissShaderBindingTable" -> Ptr VkStridedBufferRegionKHR " pHitShaderBindingTable" -> Ptr VkStridedBufferRegionKHR " pCallableShaderBindingTable" -> VkBuffer " buffer" -> VkDeviceSize " offset" -> IO () type PFN_vkCmdTraceRaysIndirectKHR = FunPtr HS_vkCmdTraceRaysIndirectKHR type VkGetDeviceAccelerationStructureCompatibilityKHR = "vkGetDeviceAccelerationStructureCompatibilityKHR" pattern VkGetDeviceAccelerationStructureCompatibilityKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_INCOMPATIBLE_VERSION_KHR. -- --
--   VkResult vkGetDeviceAccelerationStructureCompatibilityKHR
--       ( VkDevice device
--       , const VkAccelerationStructureVersionKHR* version
--       )
--   
-- -- vkGetDeviceAccelerationStructureCompatibilityKHR registry at -- www.khronos.org type HS_vkGetDeviceAccelerationStructureCompatibilityKHR = VkDevice " device" -> Ptr VkAccelerationStructureVersionKHR " version" -> IO VkResult type PFN_vkGetDeviceAccelerationStructureCompatibilityKHR = FunPtr HS_vkGetDeviceAccelerationStructureCompatibilityKHR -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkDeferredOperationInfoKHR {
--       VkStructureType sType;
--       const void*                   pNext;
--       VkDeferredOperationKHR        operationHandle;
--   } VkDeferredOperationInfoKHR;
--   
-- -- VkDeferredOperationInfoKHR registry at www.khronos.org type VkDeferredOperationInfoKHR = VkStruct VkDeferredOperationInfoKHR' -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org type VkPipelineCacheCreateInfo = VkStruct VkPipelineCacheCreateInfo' -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineColorBlendAdvancedStateCreateInfoEXT = VkStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- |
--   typedef struct VkPipelineCompilerControlCreateInfoAMD {
--       VkStructureType   sType;
--       const void*                                                                            pNext;
--       VkPipelineCompilerControlFlagsAMD                                      compilerControlFlags;
--   } VkPipelineCompilerControlCreateInfoAMD;
--   
-- -- VkPipelineCompilerControlCreateInfoAMD registry at -- www.khronos.org type VkPipelineCompilerControlCreateInfoAMD = VkStruct VkPipelineCompilerControlCreateInfoAMD' -- |
--   typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageModulationStateCreateFlagsNV                   flags;
--       VkCoverageModulationModeNV                                                       coverageModulationMode;
--       VkBool32                                                                         coverageModulationTableEnable;
--       uint32_t                                                         coverageModulationTableCount;
--       const float* pCoverageModulationTable;
--   } VkPipelineCoverageModulationStateCreateInfoNV;
--   
-- -- VkPipelineCoverageModulationStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageModulationStateCreateInfoNV = VkStruct VkPipelineCoverageModulationStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkPipelineCoverageReductionStateCreateFlagsNV      flags;
--       VkCoverageReductionModeNV                                          coverageReductionMode;
--   } VkPipelineCoverageReductionStateCreateInfoNV;
--   
-- -- VkPipelineCoverageReductionStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageReductionStateCreateInfoNV = VkStruct VkPipelineCoverageReductionStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageToColorStateCreateInfoNV = VkStruct VkPipelineCoverageToColorStateCreateInfoNV' -- |
--   typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPipelineCreationFeedbackEXT*      pPipelineCreationFeedback;
--       uint32_t                            pipelineStageCreationFeedbackCount;
--       VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
--   } VkPipelineCreationFeedbackCreateInfoEXT;
--   
-- -- VkPipelineCreationFeedbackCreateInfoEXT registry at -- www.khronos.org type VkPipelineCreationFeedbackCreateInfoEXT = VkStruct VkPipelineCreationFeedbackCreateInfoEXT' -- |
--   typedef struct VkPipelineCreationFeedbackEXT {
--       VkPipelineCreationFeedbackFlagsEXT  flags;
--       uint64_t                            duration;
--   } VkPipelineCreationFeedbackEXT;
--   
-- -- VkPipelineCreationFeedbackEXT registry at www.khronos.org type VkPipelineCreationFeedbackEXT = VkStruct VkPipelineCreationFeedbackEXT' -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       VkPipelineDiscardRectangleStateCreateFlagsEXT     flags;
--       VkDiscardRectangleModeEXT                                         discardRectangleMode;
--       uint32_t                                          discardRectangleCount;
--       const VkRect2D* pDiscardRectangles;
--   } VkPipelineDiscardRectangleStateCreateInfoEXT;
--   
-- -- VkPipelineDiscardRectangleStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineDiscardRectangleStateCreateInfoEXT = VkStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineExecutableInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--       uint32_t           executableIndex;
--   } VkPipelineExecutableInfoKHR;
--   
-- -- VkPipelineExecutableInfoKHR registry at www.khronos.org type VkPipelineExecutableInfoKHR = VkStruct VkPipelineExecutableInfoKHR' -- |
--   typedef struct VkPipelineExecutableInternalRepresentationKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkBool32           isText;
--       size_t               dataSize;
--       void* pData;
--   } VkPipelineExecutableInternalRepresentationKHR;
--   
-- -- VkPipelineExecutableInternalRepresentationKHR registry at -- www.khronos.org type VkPipelineExecutableInternalRepresentationKHR = VkStruct VkPipelineExecutableInternalRepresentationKHR' -- |
--   typedef struct VkPipelineExecutablePropertiesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkShaderStageFlags stages;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       uint32_t           subgroupSize;
--   } VkPipelineExecutablePropertiesKHR;
--   
-- -- VkPipelineExecutablePropertiesKHR registry at www.khronos.org type VkPipelineExecutablePropertiesKHR = VkStruct VkPipelineExecutablePropertiesKHR' -- |
--   typedef struct VkPipelineExecutableStatisticKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkPipelineExecutableStatisticFormatKHR format;
--       VkPipelineExecutableStatisticValueKHR  value;
--   } VkPipelineExecutableStatisticKHR;
--   
-- -- VkPipelineExecutableStatisticKHR registry at www.khronos.org type VkPipelineExecutableStatisticKHR = VkStruct VkPipelineExecutableStatisticKHR' -- |
--   typedef union VkPipelineExecutableStatisticValueKHR {
--       VkBool32           b32;
--       int64_t            i64;
--       uint64_t           u64;
--       double             f64;
--   } VkPipelineExecutableStatisticValueKHR;
--   
-- -- VkPipelineExecutableStatisticValueKHR registry at -- www.khronos.org type VkPipelineExecutableStatisticValueKHR = VkStruct VkPipelineExecutableStatisticValueKHR' -- |
--   typedef struct VkPipelineInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--   } VkPipelineInfoKHR;
--   
-- -- VkPipelineInfoKHR registry at www.khronos.org type VkPipelineInfoKHR = VkStruct VkPipelineInfoKHR' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineLayoutCreateFlags    flags;
--       uint32_t               setLayoutCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--       uint32_t               pushConstantRangeCount;
--       const VkPushConstantRange* pPushConstantRanges;
--   } VkPipelineLayoutCreateInfo;
--   
-- -- VkPipelineLayoutCreateInfo registry at www.khronos.org type VkPipelineLayoutCreateInfo = VkStruct VkPipelineLayoutCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationConservativeStateCreateInfoEXT = VkStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                 pNext;
--       VkPipelineRasterizationDepthClipStateCreateFlagsEXT         flags;
--       VkBool32                                                                    depthClipEnable;
--   } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationDepthClipStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationDepthClipStateCreateInfoEXT = VkStruct VkPipelineRasterizationDepthClipStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                      pNext;
--       VkLineRasterizationModeEXT                                       lineRasterizationMode;
--       VkBool32                                                         stippledLineEnable;
--       uint32_t                                         lineStippleFactor;
--       uint16_t                                         lineStipplePattern;
--   } VkPipelineRasterizationLineStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationLineStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationLineStateCreateInfoEXT = VkStruct VkPipelineRasterizationLineStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org type VkPipelineRasterizationStateRasterizationOrderAMD = VkStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- |
--   typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationStateStreamCreateFlagsEXT                 flags;
--       uint32_t                                                                         rasterizationStream;
--   } VkPipelineRasterizationStateStreamCreateInfoEXT;
--   
-- -- VkPipelineRasterizationStateStreamCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationStateStreamCreateInfoEXT = VkStruct VkPipelineRasterizationStateStreamCreateInfoEXT' -- |
--   typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       representativeFragmentTestEnable;
--   } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
--   
-- -- VkPipelineRepresentativeFragmentTestStateCreateInfoNV registry at -- www.khronos.org type VkPipelineRepresentativeFragmentTestStateCreateInfoNV = VkStruct VkPipelineRepresentativeFragmentTestStateCreateInfoNV' -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineSampleLocationsStateCreateInfoEXT = VkStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- |
--   typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               requiredSubgroupSize;
--   } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
--   
-- -- VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT registry at -- www.khronos.org type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkStruct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationDomainOriginStateCreateInfo = VkStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- | Alias for VkPipelineTessellationDomainOriginStateCreateInfo type VkPipelineTessellationDomainOriginStateCreateInfoKHR = VkPipelineTessellationDomainOriginStateCreateInfo -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineVertexInputDivisorStateCreateInfoEXT = VkStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                            pNext;
--       VkCoarseSampleOrderTypeNV                                              sampleOrderType;
--       uint32_t                                               customSampleOrderCount;
--       const VkCoarseSampleOrderCustomNV*        pCustomSampleOrders;
--   } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
--   
-- -- VkPipelineViewportCoarseSampleOrderStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = VkStruct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       uint32_t                                          exclusiveScissorCount;
--       const VkRect2D* pExclusiveScissors;
--   } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
--   
-- -- VkPipelineViewportExclusiveScissorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportExclusiveScissorStateCreateInfoNV = VkStruct VkPipelineViewportExclusiveScissorStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                             pNext;
--       VkBool32                                                                shadingRateImageEnable;
--       uint32_t                                                viewportCount;
--       const VkShadingRatePaletteNV* pShadingRatePalettes;
--   } VkPipelineViewportShadingRateImageStateCreateInfoNV;
--   
-- -- VkPipelineViewportShadingRateImageStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportShadingRateImageStateCreateInfoNV = VkStruct VkPipelineViewportShadingRateImageStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportSwizzleStateCreateInfoNV = VkStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportWScalingStateCreateInfoNV = VkStruct VkPipelineViewportWScalingStateCreateInfoNV' type VK_KHR_RAY_TRACING_SPEC_VERSION = 8 pattern VK_KHR_RAY_TRACING_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_RAY_TRACING_EXTENSION_NAME = "VK_KHR_ray_tracing" pattern VK_KHR_RAY_TRACING_EXTENSION_NAME :: CString pattern VK_SHADER_UNUSED_KHR :: Word32 pattern VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: VkStructureType pattern VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: VkStructureType -- | bitpos = 8 pattern VK_SHADER_STAGE_RAYGEN_BIT_KHR :: VkShaderStageBitmask a -- | bitpos = 9 pattern VK_SHADER_STAGE_ANY_HIT_BIT_KHR :: VkShaderStageBitmask a -- | bitpos = 10 pattern VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR :: VkShaderStageBitmask a -- | bitpos = 11 pattern VK_SHADER_STAGE_MISS_BIT_KHR :: VkShaderStageBitmask a -- | bitpos = 12 pattern VK_SHADER_STAGE_INTERSECTION_BIT_KHR :: VkShaderStageBitmask a -- | bitpos = 13 pattern VK_SHADER_STAGE_CALLABLE_BIT_KHR :: VkShaderStageBitmask a -- | bitpos = 21 pattern VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR :: VkPipelineStageBitmask a -- | bitpos = 25 pattern VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: VkPipelineStageBitmask a -- | bitpos = 10 pattern VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR :: VkBufferUsageBitmask a pattern VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR :: VkPipelineBindPoint pattern VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR :: VkDescriptorType -- | bitpos = 21 pattern VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR :: VkAccessBitmask a -- | bitpos = 22 pattern VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: VkAccessBitmask a pattern VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR :: VkQueryType pattern VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR :: VkQueryType pattern VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: VkObjectType pattern VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: VkDebugReportObjectTypeEXT pattern VK_INDEX_TYPE_NONE_KHR :: VkIndexType pattern VK_GEOMETRY_TYPE_INSTANCES_KHR :: VkGeometryTypeKHR pattern VK_ERROR_INCOMPATIBLE_VERSION_KHR :: VkResult -- | bitpos = 29 pattern VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR :: VkFormatFeatureBitmask a -- | bitpos = 14 pattern VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: VkPipelineCreateBitmask a -- | bitpos = 15 pattern VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: VkPipelineCreateBitmask a -- | bitpos = 16 pattern VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: VkPipelineCreateBitmask a -- | bitpos = 17 pattern VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: VkPipelineCreateBitmask a -- | bitpos = 12 pattern VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: VkPipelineCreateBitmask a -- | bitpos = 13 pattern VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR :: VkPipelineCreateBitmask a instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceAccelerationStructureCompatibilityKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdTraceRaysIndirectKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWriteAccelerationStructuresPropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetAccelerationStructureDeviceAddressKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetRayTracingShaderGroupHandlesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateRayTracingPipelinesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdTraceRaysKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyMemoryToAccelerationStructureKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyAccelerationStructureToMemoryKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyAccelerationStructureKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkWriteAccelerationStructuresPropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCopyMemoryToAccelerationStructureKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCopyAccelerationStructureToMemoryKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCopyAccelerationStructureKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBuildAccelerationStructureKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBuildAccelerationStructureIndirectKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBuildAccelerationStructureKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindAccelerationStructureMemoryKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetAccelerationStructureMemoryRequirementsKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyAccelerationStructureKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateAccelerationStructureKHR" module Graphics.Vulkan.Ext.VK_NV_ray_tracing -- | Alias for VkAabbPositionsKHR type VkAabbPositionsNV = VkAabbPositionsKHR -- |
--   typedef struct VkAccelerationStructureCreateInfoNV {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkDeviceSize                           compactedSize;
--       VkAccelerationStructureInfoNV          info;
--   } VkAccelerationStructureCreateInfoNV;
--   
-- -- VkAccelerationStructureCreateInfoNV registry at www.khronos.org type VkAccelerationStructureCreateInfoNV = VkStruct VkAccelerationStructureCreateInfoNV' -- |
--   typedef struct VkAccelerationStructureInfoNV {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkAccelerationStructureTypeNV         type;
--       VkBuildAccelerationStructureFlagsNVflags;
--       uint32_t               instanceCount;
--       uint32_t               geometryCount;
--       const VkGeometryNV* pGeometries;
--   } VkAccelerationStructureInfoNV;
--   
-- -- VkAccelerationStructureInfoNV registry at www.khronos.org type VkAccelerationStructureInfoNV = VkStruct VkAccelerationStructureInfoNV' -- | Alias for VkAccelerationStructureInstanceKHR type VkAccelerationStructureInstanceNV = VkAccelerationStructureInstanceKHR -- |
--   typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkAccelerationStructureMemoryRequirementsTypeNV                     type;
--       VkAccelerationStructureNV                                           accelerationStructure;
--   } VkAccelerationStructureMemoryRequirementsInfoNV;
--   
-- -- VkAccelerationStructureMemoryRequirementsInfoNV registry at -- www.khronos.org type VkAccelerationStructureMemoryRequirementsInfoNV = VkStruct VkAccelerationStructureMemoryRequirementsInfoNV' -- | type = enum -- -- VkAccelerationStructureBuildTypeKHR registry at www.khronos.org newtype VkAccelerationStructureBuildTypeKHR VkAccelerationStructureBuildTypeKHR :: Int32 -> VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR :: VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR -- | type = enum -- -- VkAccelerationStructureMemoryRequirementsTypeKHR registry at -- www.khronos.org newtype VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeKHR :: Int32 -> VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR -- | type = enum -- -- VkAccelerationStructureTypeKHR registry at www.khronos.org newtype VkAccelerationStructureTypeKHR VkAccelerationStructureTypeKHR :: Int32 -> VkAccelerationStructureTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR :: VkAccelerationStructureTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR :: VkAccelerationStructureTypeKHR newtype VkAccelerationStructureMemoryRequirementsTypeNV VkAccelerationStructureMemoryRequirementsTypeNV :: VkFlags -> VkAccelerationStructureMemoryRequirementsTypeNV newtype VkAccelerationStructureTypeNV VkAccelerationStructureTypeNV :: VkFlags -> VkAccelerationStructureTypeNV -- | Alias for VkBindAccelerationStructureMemoryInfoKHR type VkBindAccelerationStructureMemoryInfoNV = VkBindAccelerationStructureMemoryInfoKHR -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBuildAccelerationStructureBitmaskKHR (a :: FlagType) VkBuildAccelerationStructureBitmaskKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR (a :: FlagType) pattern VkBuildAccelerationStructureFlagBitsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagBit pattern VkBuildAccelerationStructureFlagsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 1 pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 2 pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 3 pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 4 pattern VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a type VkBuildAccelerationStructureFlagBitsKHR = VkBuildAccelerationStructureBitmaskKHR FlagBit newtype VkBuildAccelerationStructureFlagBitsNV VkBuildAccelerationStructureFlagBitsNV :: VkFlags -> VkBuildAccelerationStructureFlagBitsNV type VkBuildAccelerationStructureFlagsKHR = VkBuildAccelerationStructureBitmaskKHR FlagMask newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- | type = enum -- -- VkCopyAccelerationStructureModeKHR registry at www.khronos.org newtype VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeKHR :: Int32 -> VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR newtype VkCopyAccelerationStructureModeNV VkCopyAccelerationStructureModeNV :: VkFlags -> VkCopyAccelerationStructureModeNV -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- |
--   typedef struct VkGeometryAABBNV {
--       VkStructureType sType;
--       const void*                pNext;
--       VkBuffer   aabbData;
--       uint32_t                   numAABBs;
--       uint32_t                   stride;
--       VkDeviceSize               offset;
--   } VkGeometryAABBNV;
--   
-- -- VkGeometryAABBNV registry at www.khronos.org type VkGeometryAABBNV = VkStruct VkGeometryAABBNV' -- |
--   typedef struct VkGeometryDataNV {
--       VkGeometryTrianglesNV                  triangles;
--       VkGeometryAABBNV                       aabbs;
--   } VkGeometryDataNV;
--   
-- -- VkGeometryDataNV registry at www.khronos.org type VkGeometryDataNV = VkStruct VkGeometryDataNV' newtype VkGeometryInstanceBitmaskKHR (a :: FlagType) VkGeometryInstanceBitmaskKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR (a :: FlagType) pattern VkGeometryInstanceFlagBitsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagBit pattern VkGeometryInstanceFlagsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 1 pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 2 pattern VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 3 pattern VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a newtype VkGeometryBitmaskKHR (a :: FlagType) VkGeometryBitmaskKHR :: VkFlags -> VkGeometryBitmaskKHR (a :: FlagType) pattern VkGeometryFlagBitsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagBit pattern VkGeometryFlagsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_GEOMETRY_OPAQUE_BIT_KHR :: VkGeometryBitmaskKHR a -- | bitpos = 1 pattern VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: VkGeometryBitmaskKHR a -- | type = enum -- -- VkGeometryTypeKHR registry at www.khronos.org newtype VkGeometryTypeKHR VkGeometryTypeKHR :: Int32 -> VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_TRIANGLES_KHR :: VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_AABBS_KHR :: VkGeometryTypeKHR type VkGeometryFlagBitsKHR = VkGeometryBitmaskKHR FlagBit newtype VkGeometryFlagBitsNV VkGeometryFlagBitsNV :: VkFlags -> VkGeometryFlagBitsNV type VkGeometryFlagsKHR = VkGeometryBitmaskKHR FlagMask type VkGeometryInstanceFlagBitsKHR = VkGeometryInstanceBitmaskKHR FlagBit newtype VkGeometryInstanceFlagBitsNV VkGeometryInstanceFlagBitsNV :: VkFlags -> VkGeometryInstanceFlagBitsNV type VkGeometryInstanceFlagsKHR = VkGeometryInstanceBitmaskKHR FlagMask newtype VkGeometryTypeNV VkGeometryTypeNV :: VkFlags -> VkGeometryTypeNV -- |
--   typedef struct VkGeometryNV {
--       VkStructureType sType;
--       const void*                                   pNext;
--       VkGeometryTypeKHR                  geometryType;
--       VkGeometryDataNV                              geometry;
--       VkGeometryFlagsKHR flags;
--   } VkGeometryNV;
--   
-- -- VkGeometryNV registry at www.khronos.org type VkGeometryNV = VkStruct VkGeometryNV' -- |
--   typedef struct VkGeometryTrianglesNV {
--       VkStructureType sType;
--       const void*                pNext;
--       VkBuffer   vertexData;
--       VkDeviceSize               vertexOffset;
--       uint32_t                   vertexCount;
--       VkDeviceSize               vertexStride;
--       VkFormat                   vertexFormat;
--       VkBuffer   indexData;
--       VkDeviceSize               indexOffset;
--       uint32_t                   indexCount;
--       VkIndexType                indexType;
--       VkBuffer   transformData;
--       VkDeviceSize               transformOffset;
--   } VkGeometryTrianglesNV;
--   
-- -- VkGeometryTrianglesNV registry at www.khronos.org type VkGeometryTrianglesNV = VkStruct VkGeometryTrianglesNV' -- | type = enum -- -- VkIndexType registry at www.khronos.org newtype VkIndexType VkIndexType :: Int32 -> VkIndexType pattern VK_INDEX_TYPE_UINT16 :: VkIndexType pattern VK_INDEX_TYPE_UINT32 :: VkIndexType -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkPhysicalDeviceLimits {
--       uint32_t               maxImageDimension1D;
--       uint32_t               maxImageDimension2D;
--       uint32_t               maxImageDimension3D;
--       uint32_t               maxImageDimensionCube;
--       uint32_t               maxImageArrayLayers;
--       uint32_t               maxTexelBufferElements;
--       uint32_t               maxUniformBufferRange;
--       uint32_t               maxStorageBufferRange;
--       uint32_t               maxPushConstantsSize;
--       uint32_t               maxMemoryAllocationCount;
--       uint32_t               maxSamplerAllocationCount;
--       VkDeviceSize           bufferImageGranularity;
--       VkDeviceSize           sparseAddressSpaceSize;
--       uint32_t               maxBoundDescriptorSets;
--       uint32_t               maxPerStageDescriptorSamplers;
--       uint32_t               maxPerStageDescriptorUniformBuffers;
--       uint32_t               maxPerStageDescriptorStorageBuffers;
--       uint32_t               maxPerStageDescriptorSampledImages;
--       uint32_t               maxPerStageDescriptorStorageImages;
--       uint32_t               maxPerStageDescriptorInputAttachments;
--       uint32_t               maxPerStageResources;
--       uint32_t               maxDescriptorSetSamplers;
--       uint32_t               maxDescriptorSetUniformBuffers;
--       uint32_t               maxDescriptorSetUniformBuffersDynamic;
--       uint32_t               maxDescriptorSetStorageBuffers;
--       uint32_t               maxDescriptorSetStorageBuffersDynamic;
--       uint32_t               maxDescriptorSetSampledImages;
--       uint32_t               maxDescriptorSetStorageImages;
--       uint32_t               maxDescriptorSetInputAttachments;
--       uint32_t               maxVertexInputAttributes;
--       uint32_t               maxVertexInputBindings;
--       uint32_t               maxVertexInputAttributeOffset;
--       uint32_t               maxVertexInputBindingStride;
--       uint32_t               maxVertexOutputComponents;
--       uint32_t               maxTessellationGenerationLevel;
--       uint32_t               maxTessellationPatchSize;
--       uint32_t               maxTessellationControlPerVertexInputComponents;
--       uint32_t               maxTessellationControlPerVertexOutputComponents;
--       uint32_t               maxTessellationControlPerPatchOutputComponents;
--       uint32_t               maxTessellationControlTotalOutputComponents;
--       uint32_t               maxTessellationEvaluationInputComponents;
--       uint32_t               maxTessellationEvaluationOutputComponents;
--       uint32_t               maxGeometryShaderInvocations;
--       uint32_t               maxGeometryInputComponents;
--       uint32_t               maxGeometryOutputComponents;
--       uint32_t               maxGeometryOutputVertices;
--       uint32_t               maxGeometryTotalOutputComponents;
--       uint32_t               maxFragmentInputComponents;
--       uint32_t               maxFragmentOutputAttachments;
--       uint32_t               maxFragmentDualSrcAttachments;
--       uint32_t               maxFragmentCombinedOutputResources;
--       uint32_t               maxComputeSharedMemorySize;
--       uint32_t               maxComputeWorkGroupCount[3];
--       uint32_t               maxComputeWorkGroupInvocations;
--       uint32_t               maxComputeWorkGroupSize[3];
--       uint32_t               subPixelPrecisionBits;
--       uint32_t               subTexelPrecisionBits;
--       uint32_t               mipmapPrecisionBits;
--       uint32_t               maxDrawIndexedIndexValue;
--       uint32_t               maxDrawIndirectCount;
--       float                  maxSamplerLodBias;
--       float                  maxSamplerAnisotropy;
--       uint32_t               maxViewports;
--       uint32_t               maxViewportDimensions[2];
--       float                  viewportBoundsRange[2];
--       uint32_t               viewportSubPixelBits;
--       size_t                 minMemoryMapAlignment;
--       VkDeviceSize           minTexelBufferOffsetAlignment;
--       VkDeviceSize           minUniformBufferOffsetAlignment;
--       VkDeviceSize           minStorageBufferOffsetAlignment;
--       int32_t                minTexelOffset;
--       uint32_t               maxTexelOffset;
--       int32_t                minTexelGatherOffset;
--       uint32_t               maxTexelGatherOffset;
--       float                  minInterpolationOffset;
--       float                  maxInterpolationOffset;
--       uint32_t               subPixelInterpolationOffsetBits;
--       uint32_t               maxFramebufferWidth;
--       uint32_t               maxFramebufferHeight;
--       uint32_t               maxFramebufferLayers;
--       VkSampleCountFlags     framebufferColorSampleCounts;
--       VkSampleCountFlags     framebufferDepthSampleCounts;
--       VkSampleCountFlags     framebufferStencilSampleCounts;
--       VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--       uint32_t               maxColorAttachments;
--       VkSampleCountFlags     sampledImageColorSampleCounts;
--       VkSampleCountFlags     sampledImageIntegerSampleCounts;
--       VkSampleCountFlags     sampledImageDepthSampleCounts;
--       VkSampleCountFlags     sampledImageStencilSampleCounts;
--       VkSampleCountFlags     storageImageSampleCounts;
--       uint32_t               maxSampleMaskWords;
--       VkBool32               timestampComputeAndGraphics;
--       float                  timestampPeriod;
--       uint32_t               maxClipDistances;
--       uint32_t               maxCullDistances;
--       uint32_t               maxCombinedClipAndCullDistances;
--       uint32_t               discreteQueuePriorities;
--       float                  pointSizeRange[2];
--       float                  lineWidthRange[2];
--       float                  pointSizeGranularity;
--       float                  lineWidthGranularity;
--       VkBool32               strictLines;
--       VkBool32               standardSampleLocations;
--       VkDeviceSize           optimalBufferCopyOffsetAlignment;
--       VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--       VkDeviceSize           nonCoherentAtomSize;
--   } VkPhysicalDeviceLimits;
--   
-- -- VkPhysicalDeviceLimits registry at www.khronos.org type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- |
--   typedef struct VkPhysicalDeviceProperties {
--       uint32_t       apiVersion;
--       uint32_t       driverVersion;
--       uint32_t       vendorID;
--       uint32_t       deviceID;
--       VkPhysicalDeviceType deviceType;
--       char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--       uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--       VkPhysicalDeviceLimits limits;
--       VkPhysicalDeviceSparseProperties sparseProperties;
--   } VkPhysicalDeviceProperties;
--   
-- -- VkPhysicalDeviceProperties registry at www.khronos.org type VkPhysicalDeviceProperties = VkStruct VkPhysicalDeviceProperties' -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org type VkPhysicalDeviceProperties2 = VkStruct VkPhysicalDeviceProperties2' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxTriangleCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--   } VkPhysicalDeviceRayTracingPropertiesNV;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesNV registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesNV = VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- |
--   typedef struct VkPhysicalDeviceSparseProperties {
--       VkBool32               residencyStandard2DBlockShape;
--       VkBool32               residencyStandard2DMultisampleBlockShape;
--       VkBool32               residencyStandard3DBlockShape;
--       VkBool32               residencyAlignedMipSize;
--       VkBool32               residencyNonResidentStrict;
--   } VkPhysicalDeviceSparseProperties;
--   
-- -- VkPhysicalDeviceSparseProperties registry at www.khronos.org type VkPhysicalDeviceSparseProperties = VkStruct VkPhysicalDeviceSparseProperties' -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkRayTracingPipelineCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       uint32_t               groupCount;
--       const VkRayTracingShaderGroupCreateInfoNV* pGroups;
--       uint32_t               maxRecursionDepth;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkRayTracingPipelineCreateInfoNV;
--   
-- -- VkRayTracingPipelineCreateInfoNV registry at www.khronos.org type VkRayTracingPipelineCreateInfoNV = VkStruct VkRayTracingPipelineCreateInfoNV' -- |
--   typedef struct VkRayTracingShaderGroupCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRayTracingShaderGroupTypeKHR type;
--       uint32_t               generalShader;
--       uint32_t               closestHitShader;
--       uint32_t               anyHitShader;
--       uint32_t               intersectionShader;
--   } VkRayTracingShaderGroupCreateInfoNV;
--   
-- -- VkRayTracingShaderGroupCreateInfoNV registry at www.khronos.org type VkRayTracingShaderGroupCreateInfoNV = VkStruct VkRayTracingShaderGroupCreateInfoNV' -- | type = enum -- -- VkRayTracingShaderGroupTypeKHR registry at www.khronos.org newtype VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeKHR :: Int32 -> VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR newtype VkRayTracingShaderGroupTypeNV VkRayTracingShaderGroupTypeNV :: VkFlags -> VkRayTracingShaderGroupTypeNV newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | Alias for VkTransformMatrixKHR type VkTransformMatrixNV = VkTransformMatrixKHR -- | Alias for VkWriteDescriptorSetAccelerationStructureKHR type VkWriteDescriptorSetAccelerationStructureNV = VkWriteDescriptorSetAccelerationStructureKHR type VkCreateAccelerationStructureNV = "vkCreateAccelerationStructureNV" pattern VkCreateAccelerationStructureNV :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkCreateAccelerationStructureNV
--       ( VkDevice device
--       , const VkAccelerationStructureCreateInfoNV* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkAccelerationStructureNV* pAccelerationStructure
--       )
--   
-- -- vkCreateAccelerationStructureNV registry at www.khronos.org type HS_vkCreateAccelerationStructureNV = VkDevice " device" -> Ptr VkAccelerationStructureCreateInfoNV " pCreateInfo" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkAccelerationStructureNV " pAccelerationStructure" -> IO VkResult type PFN_vkCreateAccelerationStructureNV = FunPtr HS_vkCreateAccelerationStructureNV type VkDestroyAccelerationStructureNV = "vkDestroyAccelerationStructureNV" pattern VkDestroyAccelerationStructureNV :: CString -- | This is an alias for vkDestroyAccelerationStructureKHR. -- --
--   void vkDestroyAccelerationStructureNV
--       ( VkDevice device
--       , VkAccelerationStructureKHR accelerationStructure
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyAccelerationStructureNV registry at www.khronos.org type HS_vkDestroyAccelerationStructureNV = VkDevice " device" -> VkAccelerationStructureKHR " accelerationStructure" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyAccelerationStructureNV = FunPtr HS_vkDestroyAccelerationStructureNV type VkGetAccelerationStructureMemoryRequirementsNV = "vkGetAccelerationStructureMemoryRequirementsNV" pattern VkGetAccelerationStructureMemoryRequirementsNV :: CString -- |
--   void vkGetAccelerationStructureMemoryRequirementsNV
--       ( VkDevice device
--       , const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo
--       , VkMemoryRequirements2KHR* pMemoryRequirements
--       )
--   
-- -- vkGetAccelerationStructureMemoryRequirementsNV registry at -- www.khronos.org type HS_vkGetAccelerationStructureMemoryRequirementsNV = VkDevice " device" -> Ptr VkAccelerationStructureMemoryRequirementsInfoNV " pInfo" -> Ptr VkMemoryRequirements2KHR " pMemoryRequirements" -> IO () type PFN_vkGetAccelerationStructureMemoryRequirementsNV = FunPtr HS_vkGetAccelerationStructureMemoryRequirementsNV type VkBindAccelerationStructureMemoryNV = "vkBindAccelerationStructureMemoryNV" pattern VkBindAccelerationStructureMemoryNV :: CString -- | This is an alias for vkBindAccelerationStructureMemoryKHR. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkBindAccelerationStructureMemoryNV
--       ( VkDevice device
--       , uint32_t bindInfoCount
--       , const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos
--       )
--   
-- -- vkBindAccelerationStructureMemoryNV registry at www.khronos.org type HS_vkBindAccelerationStructureMemoryNV = VkDevice " device" -> Word32 " bindInfoCount" -> Ptr VkBindAccelerationStructureMemoryInfoKHR " pBindInfos" -> IO VkResult type PFN_vkBindAccelerationStructureMemoryNV = FunPtr HS_vkBindAccelerationStructureMemoryNV type VkCmdBuildAccelerationStructureNV = "vkCmdBuildAccelerationStructureNV" pattern VkCmdBuildAccelerationStructureNV :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdBuildAccelerationStructureNV
--       ( VkCommandBuffer commandBuffer
--       , const VkAccelerationStructureInfoNV* pInfo
--       , VkBuffer instanceData
--       , VkDeviceSize instanceOffset
--       , VkBool32 update
--       , VkAccelerationStructureKHR dst
--       , VkAccelerationStructureKHR src
--       , VkBuffer scratch
--       , VkDeviceSize scratchOffset
--       )
--   
-- -- vkCmdBuildAccelerationStructureNV registry at www.khronos.org type HS_vkCmdBuildAccelerationStructureNV = VkCommandBuffer " commandBuffer" -> Ptr VkAccelerationStructureInfoNV " pInfo" -> VkBuffer " instanceData" -> VkDeviceSize " instanceOffset" -> VkBool32 " update" -> VkAccelerationStructureKHR " dst" -> VkAccelerationStructureKHR " src" -> VkBuffer " scratch" -> VkDeviceSize " scratchOffset" -> IO () type PFN_vkCmdBuildAccelerationStructureNV = FunPtr HS_vkCmdBuildAccelerationStructureNV type VkCmdCopyAccelerationStructureNV = "vkCmdCopyAccelerationStructureNV" pattern VkCmdCopyAccelerationStructureNV :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdCopyAccelerationStructureNV
--       ( VkCommandBuffer commandBuffer
--       , VkAccelerationStructureKHR dst
--       , VkAccelerationStructureKHR src
--       , VkCopyAccelerationStructureModeKHR mode
--       )
--   
-- -- vkCmdCopyAccelerationStructureNV registry at www.khronos.org type HS_vkCmdCopyAccelerationStructureNV = VkCommandBuffer " commandBuffer" -> VkAccelerationStructureKHR " dst" -> VkAccelerationStructureKHR " src" -> VkCopyAccelerationStructureModeKHR " mode" -> IO () type PFN_vkCmdCopyAccelerationStructureNV = FunPtr HS_vkCmdCopyAccelerationStructureNV type VkCmdTraceRaysNV = "vkCmdTraceRaysNV" pattern VkCmdTraceRaysNV :: CString -- | Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdTraceRaysNV
--       ( VkCommandBuffer commandBuffer
--       , VkBuffer raygenShaderBindingTableBuffer
--       , VkDeviceSize raygenShaderBindingOffset
--       , VkBuffer missShaderBindingTableBuffer
--       , VkDeviceSize missShaderBindingOffset
--       , VkDeviceSize missShaderBindingStride
--       , VkBuffer hitShaderBindingTableBuffer
--       , VkDeviceSize hitShaderBindingOffset
--       , VkDeviceSize hitShaderBindingStride
--       , VkBuffer callableShaderBindingTableBuffer
--       , VkDeviceSize callableShaderBindingOffset
--       , VkDeviceSize callableShaderBindingStride
--       , uint32_t width
--       , uint32_t height
--       , uint32_t depth
--       )
--   
-- -- vkCmdTraceRaysNV registry at www.khronos.org type HS_vkCmdTraceRaysNV = VkCommandBuffer " commandBuffer" -> VkBuffer " raygenShaderBindingTableBuffer" -> VkDeviceSize " raygenShaderBindingOffset" -> VkBuffer " missShaderBindingTableBuffer" -> VkDeviceSize " missShaderBindingOffset" -> VkDeviceSize " missShaderBindingStride" -> VkBuffer " hitShaderBindingTableBuffer" -> VkDeviceSize " hitShaderBindingOffset" -> VkDeviceSize " hitShaderBindingStride" -> VkBuffer " callableShaderBindingTableBuffer" -> VkDeviceSize " callableShaderBindingOffset" -> VkDeviceSize " callableShaderBindingStride" -> Word32 " width" -> Word32 " height" -> Word32 " depth" -> IO () type PFN_vkCmdTraceRaysNV = FunPtr HS_vkCmdTraceRaysNV type VkCreateRayTracingPipelinesNV = "vkCreateRayTracingPipelinesNV" pattern VkCreateRayTracingPipelinesNV :: CString -- | Success codes: VK_SUCCESS, -- VK_PIPELINE_COMPILE_REQUIRED_EXT. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_INVALID_SHADER_NV. -- --
--   VkResult vkCreateRayTracingPipelinesNV
--       ( VkDevice device
--       , VkPipelineCache pipelineCache
--       , uint32_t createInfoCount
--       , const VkRayTracingPipelineCreateInfoNV* pCreateInfos
--       , const VkAllocationCallbacks* pAllocator
--       , VkPipeline* pPipelines
--       )
--   
-- -- vkCreateRayTracingPipelinesNV registry at www.khronos.org type HS_vkCreateRayTracingPipelinesNV = VkDevice " device" -> VkPipelineCache " pipelineCache" -> Word32 " createInfoCount" -> Ptr VkRayTracingPipelineCreateInfoNV " pCreateInfos" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkPipeline " pPipelines" -> IO VkResult type PFN_vkCreateRayTracingPipelinesNV = FunPtr HS_vkCreateRayTracingPipelinesNV type VkGetRayTracingShaderGroupHandlesNV = "vkGetRayTracingShaderGroupHandlesNV" pattern VkGetRayTracingShaderGroupHandlesNV :: CString -- | This is an alias for vkGetRayTracingShaderGroupHandlesKHR. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetRayTracingShaderGroupHandlesNV
--       ( VkDevice device
--       , VkPipeline pipeline
--       , uint32_t firstGroup
--       , uint32_t groupCount
--       , size_t dataSize
--       , void* pData
--       )
--   
-- -- vkGetRayTracingShaderGroupHandlesNV registry at www.khronos.org type HS_vkGetRayTracingShaderGroupHandlesNV = VkDevice " device" -> VkPipeline " pipeline" -> Word32 " firstGroup" -> Word32 " groupCount" -> CSize " dataSize" -> Ptr Void " pData" -> IO VkResult type PFN_vkGetRayTracingShaderGroupHandlesNV = FunPtr HS_vkGetRayTracingShaderGroupHandlesNV type VkGetAccelerationStructureHandleNV = "vkGetAccelerationStructureHandleNV" pattern VkGetAccelerationStructureHandleNV :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkGetAccelerationStructureHandleNV
--       ( VkDevice device
--       , VkAccelerationStructureKHR accelerationStructure
--       , size_t dataSize
--       , void* pData
--       )
--   
-- -- vkGetAccelerationStructureHandleNV registry at www.khronos.org type HS_vkGetAccelerationStructureHandleNV = VkDevice " device" -> VkAccelerationStructureKHR " accelerationStructure" -> CSize " dataSize" -> Ptr Void " pData" -> IO VkResult type PFN_vkGetAccelerationStructureHandleNV = FunPtr HS_vkGetAccelerationStructureHandleNV type VkCmdWriteAccelerationStructuresPropertiesNV = "vkCmdWriteAccelerationStructuresPropertiesNV" pattern VkCmdWriteAccelerationStructuresPropertiesNV :: CString -- | This is an alias for -- vkCmdWriteAccelerationStructuresPropertiesKHR. -- -- Queues: compute. -- -- Renderpass: outside -- --
--   void vkCmdWriteAccelerationStructuresPropertiesNV
--       ( VkCommandBuffer commandBuffer
--       , uint32_t accelerationStructureCount
--       , const VkAccelerationStructureKHR* pAccelerationStructures
--       , VkQueryType queryType
--       , VkQueryPool queryPool
--       , uint32_t firstQuery
--       )
--   
-- -- vkCmdWriteAccelerationStructuresPropertiesNV registry at -- www.khronos.org type HS_vkCmdWriteAccelerationStructuresPropertiesNV = VkCommandBuffer " commandBuffer" -> Word32 " accelerationStructureCount" -> Ptr VkAccelerationStructureKHR " pAccelerationStructures" -> VkQueryType " queryType" -> VkQueryPool " queryPool" -> Word32 " firstQuery" -> IO () type PFN_vkCmdWriteAccelerationStructuresPropertiesNV = FunPtr HS_vkCmdWriteAccelerationStructuresPropertiesNV type VkCompileDeferredNV = "vkCompileDeferredNV" pattern VkCompileDeferredNV :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCompileDeferredNV
--       ( VkDevice device
--       , VkPipeline pipeline
--       , uint32_t shader
--       )
--   
-- -- vkCompileDeferredNV registry at www.khronos.org type HS_vkCompileDeferredNV = VkDevice " device" -> VkPipeline " pipeline" -> Word32 " shader" -> IO VkResult type PFN_vkCompileDeferredNV = FunPtr HS_vkCompileDeferredNV -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask (a :: FlagType) pattern VkQueryControlFlagBits :: VkFlags -> VkQueryControlBitmask FlagBit pattern VkQueryControlFlags :: VkFlags -> VkQueryControlBitmask FlagMask -- | Require precise results to be collected by the query -- -- bitpos = 0 pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask (a :: FlagType) pattern VkQueryPipelineStatisticFlagBits :: VkFlags -> VkQueryPipelineStatisticBitmask FlagBit pattern VkQueryPipelineStatisticFlags :: VkFlags -> VkQueryPipelineStatisticBitmask FlagMask -- | Optional -- -- bitpos = 0 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 1 pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 2 pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 3 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 4 pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 5 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 6 pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 7 pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 8 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 9 pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | Optional -- -- bitpos = 10 pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT :: VkQueryPipelineStatisticBitmask a -- | type = enum -- -- VkQueryPoolSamplingModeINTEL registry at www.khronos.org newtype VkQueryPoolSamplingModeINTEL VkQueryPoolSamplingModeINTEL :: Int32 -> VkQueryPoolSamplingModeINTEL pattern VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL :: VkQueryPoolSamplingModeINTEL newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask (a :: FlagType) pattern VkQueryResultFlagBits :: VkFlags -> VkQueryResultBitmask FlagBit pattern VkQueryResultFlags :: VkFlags -> VkQueryResultBitmask FlagMask -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT :: VkQueryResultBitmask a -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType -- | Optional pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit type VkQueryResultFlags = VkQueryResultBitmask FlagMask -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- |
--   typedef struct VkAabbPositionsKHR {
--       float                                                   minX;
--       float                                                   minY;
--       float                                                   minZ;
--       float                                                   maxX;
--       float                                                   maxY;
--       float                                                   maxZ;
--   } VkAabbPositionsKHR;
--   
-- -- VkAabbPositionsKHR registry at www.khronos.org type VkAabbPositionsKHR = VkStruct VkAabbPositionsKHR' -- |
--   typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkAccelerationStructureTypeKHR                                     type;
--       VkBuildAccelerationStructureFlagsKHR               flags;
--       VkBool32                                                           update;
--       VkAccelerationStructureKHR                         srcAccelerationStructure;
--       VkAccelerationStructureKHR                                         dstAccelerationStructure;
--       VkBool32                                                           geometryArrayOfPointers;
--       uint32_t                                           geometryCount;
--       const VkAccelerationStructureGeometryKHR* const*   ppGeometries;
--       VkDeviceOrHostAddressKHR                                           scratchData;
--   } VkAccelerationStructureBuildGeometryInfoKHR;
--   
-- -- VkAccelerationStructureBuildGeometryInfoKHR registry at -- www.khronos.org type VkAccelerationStructureBuildGeometryInfoKHR = VkStruct VkAccelerationStructureBuildGeometryInfoKHR' -- |
--   typedef struct VkAccelerationStructureBuildOffsetInfoKHR {
--       uint32_t                                                primitiveCount;
--       uint32_t                                                primitiveOffset;
--       uint32_t                                firstVertex;
--       uint32_t                                transformOffset;
--   } VkAccelerationStructureBuildOffsetInfoKHR;
--   
-- -- VkAccelerationStructureBuildOffsetInfoKHR registry at -- www.khronos.org type VkAccelerationStructureBuildOffsetInfoKHR = VkStruct VkAccelerationStructureBuildOffsetInfoKHR' -- |
--   typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR {
--       VkStructureType sType;
--       const void*                                             pNext;
--       VkGeometryTypeKHR                                       geometryType;
--       uint32_t                                                maxPrimitiveCount;
--       VkIndexType                                              indexType;
--       uint32_t                                maxVertexCount;
--       VkFormat                                vertexFormat;
--       VkBool32                                allowsTransforms;
--   } VkAccelerationStructureCreateGeometryTypeInfoKHR;
--   
-- -- VkAccelerationStructureCreateGeometryTypeInfoKHR registry at -- www.khronos.org type VkAccelerationStructureCreateGeometryTypeInfoKHR = VkStruct VkAccelerationStructureCreateGeometryTypeInfoKHR' -- |
--   typedef struct VkAccelerationStructureCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                             pNext;
--       VkDeviceSize                                            compactedSize;
--       VkAccelerationStructureTypeKHR                          type;
--       VkBuildAccelerationStructureFlagsKHR    flags;
--       uint32_t                                maxGeometryCount;
--       const VkAccelerationStructureCreateGeometryTypeInfoKHR* pGeometryInfos;
--       VkDeviceAddress                         deviceAddress;
--   } VkAccelerationStructureCreateInfoKHR;
--   
-- -- VkAccelerationStructureCreateInfoKHR registry at -- www.khronos.org type VkAccelerationStructureCreateInfoKHR = VkStruct VkAccelerationStructureCreateInfoKHR' -- |
--   typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             accelerationStructure;
--   } VkAccelerationStructureDeviceAddressInfoKHR;
--   
-- -- VkAccelerationStructureDeviceAddressInfoKHR registry at -- www.khronos.org type VkAccelerationStructureDeviceAddressInfoKHR = VkStruct VkAccelerationStructureDeviceAddressInfoKHR' -- |
--   typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkDeviceOrHostAddressConstKHR         data;
--       VkDeviceSize                          stride;
--   } VkAccelerationStructureGeometryAabbsDataKHR;
--   
-- -- VkAccelerationStructureGeometryAabbsDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryAabbsDataKHR = VkStruct VkAccelerationStructureGeometryAabbsDataKHR' -- |
--   typedef union VkAccelerationStructureGeometryDataKHR {
--       VkAccelerationStructureGeometryTrianglesDataKHR triangles;
--       VkAccelerationStructureGeometryAabbsDataKHR         aabbs;
--       VkAccelerationStructureGeometryInstancesDataKHR instances;
--   } VkAccelerationStructureGeometryDataKHR;
--   
-- -- VkAccelerationStructureGeometryDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryDataKHR = VkStruct VkAccelerationStructureGeometryDataKHR' -- |
--   typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkBool32                              arrayOfPointers;
--       VkDeviceOrHostAddressConstKHR         data;
--   } VkAccelerationStructureGeometryInstancesDataKHR;
--   
-- -- VkAccelerationStructureGeometryInstancesDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryInstancesDataKHR = VkStruct VkAccelerationStructureGeometryInstancesDataKHR' -- |
--   typedef struct VkAccelerationStructureGeometryKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkGeometryTypeKHR                      geometryType;
--       VkAccelerationStructureGeometryDataKHR geometry;
--       VkGeometryFlagsKHR     flags;
--   } VkAccelerationStructureGeometryKHR;
--   
-- -- VkAccelerationStructureGeometryKHR registry at www.khronos.org type VkAccelerationStructureGeometryKHR = VkStruct VkAccelerationStructureGeometryKHR' -- |
--   typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
--       VkStructureType sType;
--       const void*                                   pNext;
--       VkFormat                                      vertexFormat;
--       VkDeviceOrHostAddressConstKHR                 vertexData;
--       VkDeviceSize                                  vertexStride;
--       VkIndexType                                   indexType;
--       VkDeviceOrHostAddressConstKHR indexData;
--       VkDeviceOrHostAddressConstKHR transformData;
--   } VkAccelerationStructureGeometryTrianglesDataKHR;
--   
-- -- VkAccelerationStructureGeometryTrianglesDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryTrianglesDataKHR = VkStruct VkAccelerationStructureGeometryTrianglesDataKHR' -- |
--   typedef struct VkAccelerationStructureInstanceKHR {
--       VkTransformMatrixKHR                                    transform;
--       uint32_t                                                instanceCustomIndex:24;
--       uint32_t                                                mask:8;
--       uint32_t                                                instanceShaderBindingTableRecordOffset:24;
--       VkGeometryInstanceFlagsKHR                              flags:8;
--       uint64_t                                                accelerationStructureReference;
--   } VkAccelerationStructureInstanceKHR;
--   
-- -- VkAccelerationStructureInstanceKHR registry at www.khronos.org type VkAccelerationStructureInstanceKHR = VkStruct VkAccelerationStructureInstanceKHR' -- |
--   typedef struct VkAccelerationStructureMemoryRequirementsInfoKHR {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkAccelerationStructureMemoryRequirementsTypeKHR                     type;
--       VkAccelerationStructureBuildTypeKHR                                  buildType;
--       VkAccelerationStructureKHR                                           accelerationStructure;
--   } VkAccelerationStructureMemoryRequirementsInfoKHR;
--   
-- -- VkAccelerationStructureMemoryRequirementsInfoKHR registry at -- www.khronos.org type VkAccelerationStructureMemoryRequirementsInfoKHR = VkStruct VkAccelerationStructureMemoryRequirementsInfoKHR' -- |
--   typedef struct VkAccelerationStructureVersionKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       const uint8_t*                    versionData;
--   } VkAccelerationStructureVersionKHR;
--   
-- -- VkAccelerationStructureVersionKHR registry at www.khronos.org type VkAccelerationStructureVersionKHR = VkStruct VkAccelerationStructureVersionKHR' -- |
--   typedef struct VkBindAccelerationStructureMemoryInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkAccelerationStructureKHR       accelerationStructure;
--       VkDeviceMemory                   memory;
--       VkDeviceSize                     memoryOffset;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindAccelerationStructureMemoryInfoKHR;
--   
-- -- VkBindAccelerationStructureMemoryInfoKHR registry at -- www.khronos.org type VkBindAccelerationStructureMemoryInfoKHR = VkStruct VkBindAccelerationStructureMemoryInfoKHR' -- |
--   typedef struct VkCopyAccelerationStructureInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             src;
--       VkAccelerationStructureKHR                             dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyAccelerationStructureInfoKHR;
--   
-- -- VkCopyAccelerationStructureInfoKHR registry at www.khronos.org type VkCopyAccelerationStructureInfoKHR = VkStruct VkCopyAccelerationStructureInfoKHR' -- |
--   typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             src;
--       VkDeviceOrHostAddressKHR                               dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyAccelerationStructureToMemoryInfoKHR;
--   
-- -- VkCopyAccelerationStructureToMemoryInfoKHR registry at -- www.khronos.org type VkCopyAccelerationStructureToMemoryInfoKHR = VkStruct VkCopyAccelerationStructureToMemoryInfoKHR' -- |
--   typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkDeviceOrHostAddressConstKHR                          src;
--       VkAccelerationStructureKHR                             dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyMemoryToAccelerationStructureInfoKHR;
--   
-- -- VkCopyMemoryToAccelerationStructureInfoKHR registry at -- www.khronos.org type VkCopyMemoryToAccelerationStructureInfoKHR = VkStruct VkCopyMemoryToAccelerationStructureInfoKHR' -- |
--   typedef struct VkDeferredOperationInfoKHR {
--       VkStructureType sType;
--       const void*                   pNext;
--       VkDeferredOperationKHR        operationHandle;
--   } VkDeferredOperationInfoKHR;
--   
-- -- VkDeferredOperationInfoKHR registry at www.khronos.org type VkDeferredOperationInfoKHR = VkStruct VkDeferredOperationInfoKHR' -- |
--   typedef union VkDeviceOrHostAddressConstKHR {
--       VkDeviceAddress            deviceAddress;
--       const void*                hostAddress;
--   } VkDeviceOrHostAddressConstKHR;
--   
-- -- VkDeviceOrHostAddressConstKHR registry at www.khronos.org type VkDeviceOrHostAddressConstKHR = VkStruct VkDeviceOrHostAddressConstKHR' -- |
--   typedef union VkDeviceOrHostAddressKHR {
--       VkDeviceAddress            deviceAddress;
--       void*                      hostAddress;
--   } VkDeviceOrHostAddressKHR;
--   
-- -- VkDeviceOrHostAddressKHR registry at www.khronos.org type VkDeviceOrHostAddressKHR = VkStruct VkDeviceOrHostAddressKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingFeaturesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         rayTracing;
--       VkBool32                         rayTracingShaderGroupHandleCaptureReplay;
--       VkBool32                         rayTracingShaderGroupHandleCaptureReplayMixed;
--       VkBool32                         rayTracingAccelerationStructureCaptureReplay;
--       VkBool32                         rayTracingIndirectTraceRays;
--       VkBool32                         rayTracingIndirectAccelerationStructureBuild;
--       VkBool32                         rayTracingHostAccelerationStructureCommands;
--       VkBool32                         rayQuery;
--       VkBool32                         rayTracingPrimitiveCulling;
--   } VkPhysicalDeviceRayTracingFeaturesKHR;
--   
-- -- VkPhysicalDeviceRayTracingFeaturesKHR registry at -- www.khronos.org type VkPhysicalDeviceRayTracingFeaturesKHR = VkStruct VkPhysicalDeviceRayTracingFeaturesKHR' -- |
--   typedef struct VkPhysicalDeviceRayTracingPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         shaderGroupHandleSize;
--       uint32_t                         maxRecursionDepth;
--       uint32_t                         maxShaderGroupStride;
--       uint32_t                         shaderGroupBaseAlignment;
--       uint64_t                         maxGeometryCount;
--       uint64_t                         maxInstanceCount;
--       uint64_t                         maxPrimitiveCount;
--       uint32_t                         maxDescriptorSetAccelerationStructures;
--       uint32_t                         shaderGroupHandleCaptureReplaySize;
--   } VkPhysicalDeviceRayTracingPropertiesKHR;
--   
-- -- VkPhysicalDeviceRayTracingPropertiesKHR registry at -- www.khronos.org type VkPhysicalDeviceRayTracingPropertiesKHR = VkStruct VkPhysicalDeviceRayTracingPropertiesKHR' -- |
--   typedef struct VkPipelineLibraryCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                               libraryCount;
--       const VkPipeline*                   pLibraries;
--   } VkPipelineLibraryCreateInfoKHR;
--   
-- -- VkPipelineLibraryCreateInfoKHR registry at www.khronos.org type VkPipelineLibraryCreateInfoKHR = VkStruct VkPipelineLibraryCreateInfoKHR' -- |
--   typedef struct VkRayTracingPipelineCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       uint32_t groupCount;
--       const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
--       uint32_t               maxRecursionDepth;
--       VkPipelineLibraryCreateInfoKHR libraries;
--       const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkRayTracingPipelineCreateInfoKHR;
--   
-- -- VkRayTracingPipelineCreateInfoKHR registry at www.khronos.org type VkRayTracingPipelineCreateInfoKHR = VkStruct VkRayTracingPipelineCreateInfoKHR' -- |
--   typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                                               maxPayloadSize;
--       uint32_t                                               maxAttributeSize;
--       uint32_t                                               maxCallableSize;
--   } VkRayTracingPipelineInterfaceCreateInfoKHR;
--   
-- -- VkRayTracingPipelineInterfaceCreateInfoKHR registry at -- www.khronos.org type VkRayTracingPipelineInterfaceCreateInfoKHR = VkStruct VkRayTracingPipelineInterfaceCreateInfoKHR' -- |
--   typedef struct VkRayTracingShaderGroupCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRayTracingShaderGroupTypeKHR type;
--       uint32_t               generalShader;
--       uint32_t               closestHitShader;
--       uint32_t               anyHitShader;
--       uint32_t               intersectionShader;
--       const void* pShaderGroupCaptureReplayHandle;
--   } VkRayTracingShaderGroupCreateInfoKHR;
--   
-- -- VkRayTracingShaderGroupCreateInfoKHR registry at -- www.khronos.org type VkRayTracingShaderGroupCreateInfoKHR = VkStruct VkRayTracingShaderGroupCreateInfoKHR' -- |
--   typedef struct VkStridedBufferRegionKHR {
--       VkBuffer         buffer;
--       VkDeviceSize                     offset;
--       VkDeviceSize                     stride;
--       VkDeviceSize                     size;
--   } VkStridedBufferRegionKHR;
--   
-- -- VkStridedBufferRegionKHR registry at www.khronos.org type VkStridedBufferRegionKHR = VkStruct VkStridedBufferRegionKHR' -- |
--   typedef struct VkTraceRaysIndirectCommandKHR {
--       uint32_t               width;
--       uint32_t               height;
--       uint32_t               depth;
--   } VkTraceRaysIndirectCommandKHR;
--   
-- -- VkTraceRaysIndirectCommandKHR registry at www.khronos.org type VkTraceRaysIndirectCommandKHR = VkStruct VkTraceRaysIndirectCommandKHR' -- |
--   typedef struct VkTransformMatrixKHR {
--       float                                                   matrix[3][4];
--   } VkTransformMatrixKHR;
--   
-- -- VkTransformMatrixKHR registry at www.khronos.org type VkTransformMatrixKHR = VkStruct VkTransformMatrixKHR' -- |
--   typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         accelerationStructureCount;
--       const VkAccelerationStructureKHR* pAccelerationStructures;
--   } VkWriteDescriptorSetAccelerationStructureKHR;
--   
-- -- VkWriteDescriptorSetAccelerationStructureKHR registry at -- www.khronos.org type VkWriteDescriptorSetAccelerationStructureKHR = VkStruct VkWriteDescriptorSetAccelerationStructureKHR' -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org type VkMemoryAllocateFlagsInfo = VkStruct VkMemoryAllocateFlagsInfo' -- | Alias for VkMemoryAllocateFlagsInfo type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo -- |
--   typedef struct VkMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceSize           allocationSize;
--       uint32_t               memoryTypeIndex;
--   } VkMemoryAllocateInfo;
--   
-- -- VkMemoryAllocateInfo registry at www.khronos.org type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org type VkMemoryDedicatedAllocateInfo = VkStruct VkMemoryDedicatedAllocateInfo' -- | Alias for VkMemoryDedicatedAllocateInfo type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo -- |
--   typedef struct VkMemoryDedicatedRequirements {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         prefersDedicatedAllocation;
--       VkBool32                         requiresDedicatedAllocation;
--   } VkMemoryDedicatedRequirements;
--   
-- -- VkMemoryDedicatedRequirements registry at www.khronos.org type VkMemoryDedicatedRequirements = VkStruct VkMemoryDedicatedRequirements' -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org type VkMemoryHeap = VkStruct VkMemoryHeap' -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org type VkMemoryHostPointerPropertiesEXT = VkStruct VkMemoryHostPointerPropertiesEXT' -- |
--   typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
--       VkStructureType sType;
--       const void*                   pNext;
--       uint64_t                      opaqueCaptureAddress;
--   } VkMemoryOpaqueCaptureAddressAllocateInfo;
--   
-- -- VkMemoryOpaqueCaptureAddressAllocateInfo registry at -- www.khronos.org type VkMemoryOpaqueCaptureAddressAllocateInfo = VkStruct VkMemoryOpaqueCaptureAddressAllocateInfo' -- | Alias for VkMemoryOpaqueCaptureAddressAllocateInfo type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo -- |
--   typedef struct VkMemoryPriorityAllocateInfoEXT {
--       VkStructureType sType;
--       const void*                        pNext;
--       float                              priority;
--   } VkMemoryPriorityAllocateInfoEXT;
--   
-- -- VkMemoryPriorityAllocateInfoEXT registry at www.khronos.org type VkMemoryPriorityAllocateInfoEXT = VkStruct VkMemoryPriorityAllocateInfoEXT' -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org type VkMemoryType = VkStruct VkMemoryType' -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org type VkPipelineCacheCreateInfo = VkStruct VkPipelineCacheCreateInfo' -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineColorBlendAdvancedStateCreateInfoEXT = VkStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- |
--   typedef struct VkPipelineCompilerControlCreateInfoAMD {
--       VkStructureType   sType;
--       const void*                                                                            pNext;
--       VkPipelineCompilerControlFlagsAMD                                      compilerControlFlags;
--   } VkPipelineCompilerControlCreateInfoAMD;
--   
-- -- VkPipelineCompilerControlCreateInfoAMD registry at -- www.khronos.org type VkPipelineCompilerControlCreateInfoAMD = VkStruct VkPipelineCompilerControlCreateInfoAMD' -- |
--   typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageModulationStateCreateFlagsNV                   flags;
--       VkCoverageModulationModeNV                                                       coverageModulationMode;
--       VkBool32                                                                         coverageModulationTableEnable;
--       uint32_t                                                         coverageModulationTableCount;
--       const float* pCoverageModulationTable;
--   } VkPipelineCoverageModulationStateCreateInfoNV;
--   
-- -- VkPipelineCoverageModulationStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageModulationStateCreateInfoNV = VkStruct VkPipelineCoverageModulationStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkPipelineCoverageReductionStateCreateFlagsNV      flags;
--       VkCoverageReductionModeNV                                          coverageReductionMode;
--   } VkPipelineCoverageReductionStateCreateInfoNV;
--   
-- -- VkPipelineCoverageReductionStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageReductionStateCreateInfoNV = VkStruct VkPipelineCoverageReductionStateCreateInfoNV' -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineCoverageToColorStateCreateInfoNV = VkStruct VkPipelineCoverageToColorStateCreateInfoNV' -- |
--   typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPipelineCreationFeedbackEXT*      pPipelineCreationFeedback;
--       uint32_t                            pipelineStageCreationFeedbackCount;
--       VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
--   } VkPipelineCreationFeedbackCreateInfoEXT;
--   
-- -- VkPipelineCreationFeedbackCreateInfoEXT registry at -- www.khronos.org type VkPipelineCreationFeedbackCreateInfoEXT = VkStruct VkPipelineCreationFeedbackCreateInfoEXT' -- |
--   typedef struct VkPipelineCreationFeedbackEXT {
--       VkPipelineCreationFeedbackFlagsEXT  flags;
--       uint64_t                            duration;
--   } VkPipelineCreationFeedbackEXT;
--   
-- -- VkPipelineCreationFeedbackEXT registry at www.khronos.org type VkPipelineCreationFeedbackEXT = VkStruct VkPipelineCreationFeedbackEXT' -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       VkPipelineDiscardRectangleStateCreateFlagsEXT     flags;
--       VkDiscardRectangleModeEXT                                         discardRectangleMode;
--       uint32_t                                          discardRectangleCount;
--       const VkRect2D* pDiscardRectangles;
--   } VkPipelineDiscardRectangleStateCreateInfoEXT;
--   
-- -- VkPipelineDiscardRectangleStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineDiscardRectangleStateCreateInfoEXT = VkStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineExecutableInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--       uint32_t           executableIndex;
--   } VkPipelineExecutableInfoKHR;
--   
-- -- VkPipelineExecutableInfoKHR registry at www.khronos.org type VkPipelineExecutableInfoKHR = VkStruct VkPipelineExecutableInfoKHR' -- |
--   typedef struct VkPipelineExecutableInternalRepresentationKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkBool32           isText;
--       size_t               dataSize;
--       void* pData;
--   } VkPipelineExecutableInternalRepresentationKHR;
--   
-- -- VkPipelineExecutableInternalRepresentationKHR registry at -- www.khronos.org type VkPipelineExecutableInternalRepresentationKHR = VkStruct VkPipelineExecutableInternalRepresentationKHR' -- |
--   typedef struct VkPipelineExecutablePropertiesKHR {
--       VkStructureType sType;
--       void*              pNext;
--       VkShaderStageFlags stages;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       uint32_t           subgroupSize;
--   } VkPipelineExecutablePropertiesKHR;
--   
-- -- VkPipelineExecutablePropertiesKHR registry at www.khronos.org type VkPipelineExecutablePropertiesKHR = VkStruct VkPipelineExecutablePropertiesKHR' -- |
--   typedef struct VkPipelineExecutableStatisticKHR {
--       VkStructureType sType;
--       void*              pNext;
--       char               name[VK_MAX_DESCRIPTION_SIZE];
--       char               description[VK_MAX_DESCRIPTION_SIZE];
--       VkPipelineExecutableStatisticFormatKHR format;
--       VkPipelineExecutableStatisticValueKHR  value;
--   } VkPipelineExecutableStatisticKHR;
--   
-- -- VkPipelineExecutableStatisticKHR registry at www.khronos.org type VkPipelineExecutableStatisticKHR = VkStruct VkPipelineExecutableStatisticKHR' -- |
--   typedef union VkPipelineExecutableStatisticValueKHR {
--       VkBool32           b32;
--       int64_t            i64;
--       uint64_t           u64;
--       double             f64;
--   } VkPipelineExecutableStatisticValueKHR;
--   
-- -- VkPipelineExecutableStatisticValueKHR registry at -- www.khronos.org type VkPipelineExecutableStatisticValueKHR = VkStruct VkPipelineExecutableStatisticValueKHR' -- |
--   typedef struct VkPipelineInfoKHR {
--       VkStructureType sType;
--       const void*        pNext;
--       VkPipeline         pipeline;
--   } VkPipelineInfoKHR;
--   
-- -- VkPipelineInfoKHR registry at www.khronos.org type VkPipelineInfoKHR = VkStruct VkPipelineInfoKHR' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineLayoutCreateFlags    flags;
--       uint32_t               setLayoutCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--       uint32_t               pushConstantRangeCount;
--       const VkPushConstantRange* pPushConstantRanges;
--   } VkPipelineLayoutCreateInfo;
--   
-- -- VkPipelineLayoutCreateInfo registry at www.khronos.org type VkPipelineLayoutCreateInfo = VkStruct VkPipelineLayoutCreateInfo' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationConservativeStateCreateInfoEXT = VkStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                 pNext;
--       VkPipelineRasterizationDepthClipStateCreateFlagsEXT         flags;
--       VkBool32                                                                    depthClipEnable;
--   } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationDepthClipStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationDepthClipStateCreateInfoEXT = VkStruct VkPipelineRasterizationDepthClipStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                      pNext;
--       VkLineRasterizationModeEXT                                       lineRasterizationMode;
--       VkBool32                                                         stippledLineEnable;
--       uint32_t                                         lineStippleFactor;
--       uint16_t                                         lineStipplePattern;
--   } VkPipelineRasterizationLineStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationLineStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationLineStateCreateInfoEXT = VkStruct VkPipelineRasterizationLineStateCreateInfoEXT' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org type VkPipelineRasterizationStateRasterizationOrderAMD = VkStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- |
--   typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationStateStreamCreateFlagsEXT                 flags;
--       uint32_t                                                                         rasterizationStream;
--   } VkPipelineRasterizationStateStreamCreateInfoEXT;
--   
-- -- VkPipelineRasterizationStateStreamCreateInfoEXT registry at -- www.khronos.org type VkPipelineRasterizationStateStreamCreateInfoEXT = VkStruct VkPipelineRasterizationStateStreamCreateInfoEXT' -- |
--   typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
--       VkStructureType sType;
--       const void*    pNext;
--       VkBool32       representativeFragmentTestEnable;
--   } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
--   
-- -- VkPipelineRepresentativeFragmentTestStateCreateInfoNV registry at -- www.khronos.org type VkPipelineRepresentativeFragmentTestStateCreateInfoNV = VkStruct VkPipelineRepresentativeFragmentTestStateCreateInfoNV' -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineSampleLocationsStateCreateInfoEXT = VkStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- |
--   typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               requiredSubgroupSize;
--   } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
--   
-- -- VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT registry at -- www.khronos.org type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkStruct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationDomainOriginStateCreateInfo = VkStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- | Alias for VkPipelineTessellationDomainOriginStateCreateInfo type VkPipelineTessellationDomainOriginStateCreateInfoKHR = VkPipelineTessellationDomainOriginStateCreateInfo -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org type VkPipelineVertexInputDivisorStateCreateInfoEXT = VkStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                            pNext;
--       VkCoarseSampleOrderTypeNV                                              sampleOrderType;
--       uint32_t                                               customSampleOrderCount;
--       const VkCoarseSampleOrderCustomNV*        pCustomSampleOrders;
--   } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
--   
-- -- VkPipelineViewportCoarseSampleOrderStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = VkStruct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                       pNext;
--       uint32_t                                          exclusiveScissorCount;
--       const VkRect2D* pExclusiveScissors;
--   } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
--   
-- -- VkPipelineViewportExclusiveScissorStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportExclusiveScissorStateCreateInfoNV = VkStruct VkPipelineViewportExclusiveScissorStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                             pNext;
--       VkBool32                                                                shadingRateImageEnable;
--       uint32_t                                                viewportCount;
--       const VkShadingRatePaletteNV* pShadingRatePalettes;
--   } VkPipelineViewportShadingRateImageStateCreateInfoNV;
--   
-- -- VkPipelineViewportShadingRateImageStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportShadingRateImageStateCreateInfoNV = VkStruct VkPipelineViewportShadingRateImageStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportSwizzleStateCreateInfoNV = VkStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org type VkPipelineViewportWScalingStateCreateInfoNV = VkStruct VkPipelineViewportWScalingStateCreateInfoNV' type VK_NV_RAY_TRACING_SPEC_VERSION = 3 pattern VK_NV_RAY_TRACING_SPEC_VERSION :: (Num a, Eq a) => a type VK_NV_RAY_TRACING_EXTENSION_NAME = "VK_NV_ray_tracing" pattern VK_NV_RAY_TRACING_EXTENSION_NAME :: CString pattern VK_SHADER_UNUSED_NV :: Word32 pattern VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_GEOMETRY_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: VkStructureType pattern VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: VkStructureType pattern VK_SHADER_STAGE_RAYGEN_BIT_NV :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ANY_HIT_BIT_NV :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_MISS_BIT_NV :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_INTERSECTION_BIT_NV :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_CALLABLE_BIT_NV :: VkShaderStageBitmask a pattern VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV :: VkPipelineStageBitmask a pattern VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV :: VkPipelineStageBitmask a pattern VK_BUFFER_USAGE_RAY_TRACING_BIT_NV :: VkBufferUsageBitmask a pattern VK_PIPELINE_BIND_POINT_RAY_TRACING_NV :: VkPipelineBindPoint pattern VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV :: VkDescriptorType pattern VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV :: VkAccessBitmask a pattern VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV :: VkAccessBitmask a pattern VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV :: VkQueryType -- | bitpos = 5 pattern VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV :: VkPipelineCreateBitmask a pattern VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: VkObjectType pattern VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: VkDebugReportObjectTypeEXT pattern VK_INDEX_TYPE_NONE_NV :: VkIndexType pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV :: VkRayTracingShaderGroupTypeKHR pattern VK_GEOMETRY_TYPE_TRIANGLES_NV :: VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_AABBS_NV :: VkGeometryTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV :: VkAccelerationStructureTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV :: VkAccelerationStructureTypeKHR pattern VK_GEOMETRY_OPAQUE_BIT_NV :: VkGeometryBitmaskKHR a pattern VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV :: VkGeometryBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV :: VkGeometryInstanceBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV :: VkGeometryInstanceBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV :: VkGeometryInstanceBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV :: VkGeometryInstanceBitmaskKHR a pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV :: VkBuildAccelerationStructureBitmaskKHR a pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV :: VkBuildAccelerationStructureBitmaskKHR a pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV :: VkBuildAccelerationStructureBitmaskKHR a pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV :: VkBuildAccelerationStructureBitmaskKHR a pattern VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV :: VkBuildAccelerationStructureBitmaskKHR a pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV :: VkCopyAccelerationStructureModeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV :: VkAccelerationStructureMemoryRequirementsTypeKHR instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCompileDeferredNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWriteAccelerationStructuresPropertiesNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetAccelerationStructureHandleNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetRayTracingShaderGroupHandlesNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateRayTracingPipelinesNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdTraceRaysNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyAccelerationStructureNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBuildAccelerationStructureNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindAccelerationStructureMemoryNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetAccelerationStructureMemoryRequirementsNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyAccelerationStructureNV" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateAccelerationStructureNV" module Graphics.Vulkan.Ext.VK_KHR_pipeline_library -- |
--   typedef struct VkPipelineLibraryCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                               libraryCount;
--       const VkPipeline*                   pLibraries;
--   } VkPipelineLibraryCreateInfoKHR;
--   
-- -- VkPipelineLibraryCreateInfoKHR registry at www.khronos.org type VkPipelineLibraryCreateInfoKHR = VkStruct VkPipelineLibraryCreateInfoKHR' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 pattern VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME = "VK_KHR_pipeline_library" pattern VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME :: CString -- | bitpos = 11 pattern VK_PIPELINE_CREATE_LIBRARY_BIT_KHR :: VkPipelineCreateBitmask a pattern VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: VkStructureType module Graphics.Vulkan.Ext.VK_KHR_deferred_host_operations -- |
--   typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkAccelerationStructureTypeKHR                                     type;
--       VkBuildAccelerationStructureFlagsKHR               flags;
--       VkBool32                                                           update;
--       VkAccelerationStructureKHR                         srcAccelerationStructure;
--       VkAccelerationStructureKHR                                         dstAccelerationStructure;
--       VkBool32                                                           geometryArrayOfPointers;
--       uint32_t                                           geometryCount;
--       const VkAccelerationStructureGeometryKHR* const*   ppGeometries;
--       VkDeviceOrHostAddressKHR                                           scratchData;
--   } VkAccelerationStructureBuildGeometryInfoKHR;
--   
-- -- VkAccelerationStructureBuildGeometryInfoKHR registry at -- www.khronos.org type VkAccelerationStructureBuildGeometryInfoKHR = VkStruct VkAccelerationStructureBuildGeometryInfoKHR' -- |
--   typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkDeviceOrHostAddressConstKHR         data;
--       VkDeviceSize                          stride;
--   } VkAccelerationStructureGeometryAabbsDataKHR;
--   
-- -- VkAccelerationStructureGeometryAabbsDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryAabbsDataKHR = VkStruct VkAccelerationStructureGeometryAabbsDataKHR' -- |
--   typedef union VkAccelerationStructureGeometryDataKHR {
--       VkAccelerationStructureGeometryTrianglesDataKHR triangles;
--       VkAccelerationStructureGeometryAabbsDataKHR         aabbs;
--       VkAccelerationStructureGeometryInstancesDataKHR instances;
--   } VkAccelerationStructureGeometryDataKHR;
--   
-- -- VkAccelerationStructureGeometryDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryDataKHR = VkStruct VkAccelerationStructureGeometryDataKHR' -- |
--   typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
--       VkStructureType sType;
--       const void*                           pNext;
--       VkBool32                              arrayOfPointers;
--       VkDeviceOrHostAddressConstKHR         data;
--   } VkAccelerationStructureGeometryInstancesDataKHR;
--   
-- -- VkAccelerationStructureGeometryInstancesDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryInstancesDataKHR = VkStruct VkAccelerationStructureGeometryInstancesDataKHR' -- |
--   typedef struct VkAccelerationStructureGeometryKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkGeometryTypeKHR                      geometryType;
--       VkAccelerationStructureGeometryDataKHR geometry;
--       VkGeometryFlagsKHR     flags;
--   } VkAccelerationStructureGeometryKHR;
--   
-- -- VkAccelerationStructureGeometryKHR registry at www.khronos.org type VkAccelerationStructureGeometryKHR = VkStruct VkAccelerationStructureGeometryKHR' -- |
--   typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
--       VkStructureType sType;
--       const void*                                   pNext;
--       VkFormat                                      vertexFormat;
--       VkDeviceOrHostAddressConstKHR                 vertexData;
--       VkDeviceSize                                  vertexStride;
--       VkIndexType                                   indexType;
--       VkDeviceOrHostAddressConstKHR indexData;
--       VkDeviceOrHostAddressConstKHR transformData;
--   } VkAccelerationStructureGeometryTrianglesDataKHR;
--   
-- -- VkAccelerationStructureGeometryTrianglesDataKHR registry at -- www.khronos.org type VkAccelerationStructureGeometryTrianglesDataKHR = VkStruct VkAccelerationStructureGeometryTrianglesDataKHR' -- | type = enum -- -- VkAccelerationStructureBuildTypeKHR registry at www.khronos.org newtype VkAccelerationStructureBuildTypeKHR VkAccelerationStructureBuildTypeKHR :: Int32 -> VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR :: VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR -- | type = enum -- -- VkAccelerationStructureMemoryRequirementsTypeKHR registry at -- www.khronos.org newtype VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeKHR :: Int32 -> VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR -- | type = enum -- -- VkAccelerationStructureTypeKHR registry at www.khronos.org newtype VkAccelerationStructureTypeKHR VkAccelerationStructureTypeKHR :: Int32 -> VkAccelerationStructureTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR :: VkAccelerationStructureTypeKHR pattern VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR :: VkAccelerationStructureTypeKHR newtype VkAccelerationStructureMemoryRequirementsTypeNV VkAccelerationStructureMemoryRequirementsTypeNV :: VkFlags -> VkAccelerationStructureMemoryRequirementsTypeNV newtype VkAccelerationStructureTypeNV VkAccelerationStructureTypeNV :: VkFlags -> VkAccelerationStructureTypeNV -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBuildAccelerationStructureBitmaskKHR (a :: FlagType) VkBuildAccelerationStructureBitmaskKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR (a :: FlagType) pattern VkBuildAccelerationStructureFlagBitsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagBit pattern VkBuildAccelerationStructureFlagsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 1 pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 2 pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 3 pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a -- | bitpos = 4 pattern VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: VkBuildAccelerationStructureBitmaskKHR a type VkBuildAccelerationStructureFlagBitsKHR = VkBuildAccelerationStructureBitmaskKHR FlagBit newtype VkBuildAccelerationStructureFlagBitsNV VkBuildAccelerationStructureFlagBitsNV :: VkFlags -> VkBuildAccelerationStructureFlagBitsNV type VkBuildAccelerationStructureFlagsKHR = VkBuildAccelerationStructureBitmaskKHR FlagMask -- |
--   typedef struct VkCopyAccelerationStructureInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             src;
--       VkAccelerationStructureKHR                             dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyAccelerationStructureInfoKHR;
--   
-- -- VkCopyAccelerationStructureInfoKHR registry at www.khronos.org type VkCopyAccelerationStructureInfoKHR = VkStruct VkCopyAccelerationStructureInfoKHR' -- | type = enum -- -- VkCopyAccelerationStructureModeKHR registry at www.khronos.org newtype VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeKHR :: Int32 -> VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR newtype VkCopyAccelerationStructureModeNV VkCopyAccelerationStructureModeNV :: VkFlags -> VkCopyAccelerationStructureModeNV -- |
--   typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkAccelerationStructureKHR                             src;
--       VkDeviceOrHostAddressKHR                               dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyAccelerationStructureToMemoryInfoKHR;
--   
-- -- VkCopyAccelerationStructureToMemoryInfoKHR registry at -- www.khronos.org type VkCopyAccelerationStructureToMemoryInfoKHR = VkStruct VkCopyAccelerationStructureToMemoryInfoKHR' -- |
--   typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkDeviceOrHostAddressConstKHR                          src;
--       VkAccelerationStructureKHR                             dst;
--       VkCopyAccelerationStructureModeKHR                     mode;
--   } VkCopyMemoryToAccelerationStructureInfoKHR;
--   
-- -- VkCopyMemoryToAccelerationStructureInfoKHR registry at -- www.khronos.org type VkCopyMemoryToAccelerationStructureInfoKHR = VkStruct VkCopyMemoryToAccelerationStructureInfoKHR' -- |
--   typedef struct VkDeferredOperationInfoKHR {
--       VkStructureType sType;
--       const void*                   pNext;
--       VkDeferredOperationKHR        operationHandle;
--   } VkDeferredOperationInfoKHR;
--   
-- -- VkDeferredOperationInfoKHR registry at www.khronos.org type VkDeferredOperationInfoKHR = VkStruct VkDeferredOperationInfoKHR' -- |
--   typedef union VkDeviceOrHostAddressConstKHR {
--       VkDeviceAddress            deviceAddress;
--       const void*                hostAddress;
--   } VkDeviceOrHostAddressConstKHR;
--   
-- -- VkDeviceOrHostAddressConstKHR registry at www.khronos.org type VkDeviceOrHostAddressConstKHR = VkStruct VkDeviceOrHostAddressConstKHR' -- |
--   typedef union VkDeviceOrHostAddressKHR {
--       VkDeviceAddress            deviceAddress;
--       void*                      hostAddress;
--   } VkDeviceOrHostAddressKHR;
--   
-- -- VkDeviceOrHostAddressKHR registry at www.khronos.org type VkDeviceOrHostAddressKHR = VkStruct VkDeviceOrHostAddressKHR' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask newtype VkGeometryInstanceBitmaskKHR (a :: FlagType) VkGeometryInstanceBitmaskKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR (a :: FlagType) pattern VkGeometryInstanceFlagBitsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagBit pattern VkGeometryInstanceFlagsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 1 pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 2 pattern VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a -- | bitpos = 3 pattern VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a newtype VkGeometryBitmaskKHR (a :: FlagType) VkGeometryBitmaskKHR :: VkFlags -> VkGeometryBitmaskKHR (a :: FlagType) pattern VkGeometryFlagBitsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagBit pattern VkGeometryFlagsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagMask -- | bitpos = 0 pattern VK_GEOMETRY_OPAQUE_BIT_KHR :: VkGeometryBitmaskKHR a -- | bitpos = 1 pattern VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: VkGeometryBitmaskKHR a -- | type = enum -- -- VkGeometryTypeKHR registry at www.khronos.org newtype VkGeometryTypeKHR VkGeometryTypeKHR :: Int32 -> VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_TRIANGLES_KHR :: VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_AABBS_KHR :: VkGeometryTypeKHR type VkGeometryFlagBitsKHR = VkGeometryBitmaskKHR FlagBit newtype VkGeometryFlagBitsNV VkGeometryFlagBitsNV :: VkFlags -> VkGeometryFlagBitsNV type VkGeometryFlagsKHR = VkGeometryBitmaskKHR FlagMask type VkGeometryInstanceFlagBitsKHR = VkGeometryInstanceBitmaskKHR FlagBit newtype VkGeometryInstanceFlagBitsNV VkGeometryInstanceFlagBitsNV :: VkFlags -> VkGeometryInstanceFlagBitsNV type VkGeometryInstanceFlagsKHR = VkGeometryInstanceBitmaskKHR FlagMask newtype VkGeometryTypeNV VkGeometryTypeNV :: VkFlags -> VkGeometryTypeNV -- | type = enum -- -- VkIndexType registry at www.khronos.org newtype VkIndexType VkIndexType :: Int32 -> VkIndexType pattern VK_INDEX_TYPE_UINT16 :: VkIndexType pattern VK_INDEX_TYPE_UINT32 :: VkIndexType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineLibraryCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                               libraryCount;
--       const VkPipeline*                   pLibraries;
--   } VkPipelineLibraryCreateInfoKHR;
--   
-- -- VkPipelineLibraryCreateInfoKHR registry at www.khronos.org type VkPipelineLibraryCreateInfoKHR = VkStruct VkPipelineLibraryCreateInfoKHR' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkRayTracingPipelineCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       uint32_t groupCount;
--       const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
--       uint32_t               maxRecursionDepth;
--       VkPipelineLibraryCreateInfoKHR libraries;
--       const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkRayTracingPipelineCreateInfoKHR;
--   
-- -- VkRayTracingPipelineCreateInfoKHR registry at www.khronos.org type VkRayTracingPipelineCreateInfoKHR = VkStruct VkRayTracingPipelineCreateInfoKHR' -- |
--   typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                                               maxPayloadSize;
--       uint32_t                                               maxAttributeSize;
--       uint32_t                                               maxCallableSize;
--   } VkRayTracingPipelineInterfaceCreateInfoKHR;
--   
-- -- VkRayTracingPipelineInterfaceCreateInfoKHR registry at -- www.khronos.org type VkRayTracingPipelineInterfaceCreateInfoKHR = VkStruct VkRayTracingPipelineInterfaceCreateInfoKHR' -- |
--   typedef struct VkRayTracingShaderGroupCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRayTracingShaderGroupTypeKHR type;
--       uint32_t               generalShader;
--       uint32_t               closestHitShader;
--       uint32_t               anyHitShader;
--       uint32_t               intersectionShader;
--       const void* pShaderGroupCaptureReplayHandle;
--   } VkRayTracingShaderGroupCreateInfoKHR;
--   
-- -- VkRayTracingShaderGroupCreateInfoKHR registry at -- www.khronos.org type VkRayTracingShaderGroupCreateInfoKHR = VkStruct VkRayTracingShaderGroupCreateInfoKHR' -- | type = enum -- -- VkRayTracingShaderGroupTypeKHR registry at www.khronos.org newtype VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeKHR :: Int32 -> VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR newtype VkRayTracingShaderGroupTypeNV VkRayTracingShaderGroupTypeNV :: VkFlags -> VkRayTracingShaderGroupTypeNV -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType type VkCreateDeferredOperationKHR = "vkCreateDeferredOperationKHR" pattern VkCreateDeferredOperationKHR :: CString -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY. -- --
--   VkResult vkCreateDeferredOperationKHR
--       ( VkDevice device
--       , const VkAllocationCallbacks* pAllocator
--       , VkDeferredOperationKHR* pDeferredOperation
--       )
--   
-- -- vkCreateDeferredOperationKHR registry at www.khronos.org type HS_vkCreateDeferredOperationKHR = VkDevice " device" -> Ptr VkAllocationCallbacks " pAllocator" -> Ptr VkDeferredOperationKHR " pDeferredOperation" -> IO VkResult type PFN_vkCreateDeferredOperationKHR = FunPtr HS_vkCreateDeferredOperationKHR type VkDestroyDeferredOperationKHR = "vkDestroyDeferredOperationKHR" pattern VkDestroyDeferredOperationKHR :: CString -- |
--   void vkDestroyDeferredOperationKHR
--       ( VkDevice device
--       , VkDeferredOperationKHR operation
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyDeferredOperationKHR registry at www.khronos.org type HS_vkDestroyDeferredOperationKHR = VkDevice " device" -> VkDeferredOperationKHR " operation" -> Ptr VkAllocationCallbacks " pAllocator" -> IO () type PFN_vkDestroyDeferredOperationKHR = FunPtr HS_vkDestroyDeferredOperationKHR type VkGetDeferredOperationMaxConcurrencyKHR = "vkGetDeferredOperationMaxConcurrencyKHR" pattern VkGetDeferredOperationMaxConcurrencyKHR :: CString -- |
--   uint32_t vkGetDeferredOperationMaxConcurrencyKHR
--       ( VkDevice device
--       , VkDeferredOperationKHR operation
--       )
--   
-- -- vkGetDeferredOperationMaxConcurrencyKHR registry at -- www.khronos.org type HS_vkGetDeferredOperationMaxConcurrencyKHR = VkDevice " device" -> VkDeferredOperationKHR " operation" -> IO Word32 type PFN_vkGetDeferredOperationMaxConcurrencyKHR = FunPtr HS_vkGetDeferredOperationMaxConcurrencyKHR type VkGetDeferredOperationResultKHR = "vkGetDeferredOperationResultKHR" pattern VkGetDeferredOperationResultKHR :: CString -- | Success codes: VK_SUCCESS, VK_NOT_READY. -- --
--   VkResult vkGetDeferredOperationResultKHR
--       ( VkDevice device
--       , VkDeferredOperationKHR operation
--       )
--   
-- -- vkGetDeferredOperationResultKHR registry at www.khronos.org type HS_vkGetDeferredOperationResultKHR = VkDevice " device" -> VkDeferredOperationKHR " operation" -> IO VkResult type PFN_vkGetDeferredOperationResultKHR = FunPtr HS_vkGetDeferredOperationResultKHR type VkDeferredOperationJoinKHR = "vkDeferredOperationJoinKHR" pattern VkDeferredOperationJoinKHR :: CString -- | Success codes: VK_SUCCESS, VK_THREAD_DONE_KHR, -- VK_THREAD_IDLE_KHR. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkDeferredOperationJoinKHR
--       ( VkDevice device
--       , VkDeferredOperationKHR operation
--       )
--   
-- -- vkDeferredOperationJoinKHR registry at www.khronos.org type HS_vkDeferredOperationJoinKHR = VkDevice " device" -> VkDeferredOperationKHR " operation" -> IO VkResult type PFN_vkDeferredOperationJoinKHR = FunPtr HS_vkDeferredOperationJoinKHR -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE :: VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully pattern VK_SUCCESS :: VkResult -- | A fence or query has not yet completed pattern VK_NOT_READY :: VkResult -- | A wait operation has not completed in the specified time pattern VK_TIMEOUT :: VkResult -- | An event is signaled pattern VK_EVENT_SET :: VkResult -- | An event is unsignaled pattern VK_EVENT_RESET :: VkResult -- | A return array was too small for the result pattern VK_INCOMPLETE :: VkResult -- | A host memory allocation has failed pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult -- | A device memory allocation has failed pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult -- | Initialization of a object has failed pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult -- | The logical device has been lost. See pattern VK_ERROR_DEVICE_LOST :: VkResult -- | Mapping of a memory object has failed pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult -- | Layer specified does not exist pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult -- | Extension specified does not exist pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult -- | Requested feature is not available on this device pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult -- | Unable to find a Vulkan driver pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult -- | Too many objects of the type have already been created pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult -- | Requested format is not supported on this device pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory pattern VK_ERROR_FRAGMENTED_POOL :: VkResult -- | An unknown error has occurred, due to an implementation or application -- bug pattern VK_ERROR_UNKNOWN :: VkResult -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE :: VkSystemAllocationScope pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE :: VkSystemAllocationScope -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkAllocationFunction :: HS_vkAllocationFunction -> IO PFN_vkAllocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugReportCallbackEXT :: HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkDebugUtilsMessengerCallbackEXT :: HS_vkDebugUtilsMessengerCallbackEXT -> IO PFN_vkDebugUtilsMessengerCallbackEXT -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkFreeFunction :: HS_vkFreeFunction -> IO PFN_vkFreeFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalAllocationNotification :: HS_vkInternalAllocationNotification -> IO PFN_vkInternalAllocationNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkInternalFreeNotification :: HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkReallocationFunction :: HS_vkReallocationFunction -> IO PFN_vkReallocationFunction -- | Wrap haskell function into C-callable FunPtr. Note, you need to free -- resources after using it. newVkVoidFunction :: HS_vkVoidFunction -> IO PFN_vkVoidFunction unwrapVkAllocationFunction :: PFN_vkAllocationFunction -> HS_vkAllocationFunction unwrapVkDebugReportCallbackEXT :: PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT unwrapVkDebugUtilsMessengerCallbackEXT :: PFN_vkDebugUtilsMessengerCallbackEXT -> HS_vkDebugUtilsMessengerCallbackEXT unwrapVkFreeFunction :: PFN_vkFreeFunction -> HS_vkFreeFunction unwrapVkInternalAllocationNotification :: PFN_vkInternalAllocationNotification -> HS_vkInternalAllocationNotification unwrapVkInternalFreeNotification :: PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification unwrapVkReallocationFunction :: PFN_vkReallocationFunction -> HS_vkReallocationFunction unwrapVkVoidFunction :: PFN_vkVoidFunction -> HS_vkVoidFunction type HS_vkAllocationFunction = Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkDebugReportCallbackEXT = VkDebugReportFlagsEXT -> VkDebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32 type HS_vkDebugUtilsMessengerCallbackEXT = VkDebugUtilsMessageSeverityFlagBitsEXT -> VkDebugUtilsMessageTypeFlagsEXT -> Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32 type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () type HS_vkInternalAllocationNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkInternalFreeNotification = Ptr Void -> CSize -> VkInternalAllocationType -> VkSystemAllocationScope -> IO () type HS_vkReallocationFunction = Ptr Void -> Ptr Void -> CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void) type HS_vkVoidFunction = IO () -- |
--   typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
--       void*                                       pUserData,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction -- |
--   typedef 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);
--   
type PFN_vkDebugReportCallbackEXT = FunPtr HS_vkDebugReportCallbackEXT -- |
--   typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
--       VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,
--       VkDebugUtilsMessageTypeFlagsEXT                  messageTypes,
--       const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,
--       void*                                            pUserData);
--   
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr HS_vkDebugUtilsMessengerCallbackEXT -- |
--   typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
--       void*                                       pUserData,
--       void*                                       pMemory);
--   
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalAllocationNotification = FunPtr HS_vkInternalAllocationNotification -- |
--   typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
--       void*                                       pUserData,
--       size_t                                      size,
--       VkInternalAllocationType                    allocationType,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkInternalFreeNotification = FunPtr HS_vkInternalFreeNotification -- |
--   typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
--       void*                                       pUserData,
--       void*                                       pOriginal,
--       size_t                                      size,
--       size_t                                      alignment,
--       VkSystemAllocationScope                     allocationScope);
--   
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction -- |
--   typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
--   
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T -- |
--   typedef struct VkAllocationCallbacks {
--       void*           pUserData;
--       PFN_vkAllocationFunction   pfnAllocation;
--       PFN_vkReallocationFunction pfnReallocation;
--       PFN_vkFreeFunction    pfnFree;
--       PFN_vkInternalAllocationNotification pfnInternalAllocation;
--       PFN_vkInternalFreeNotification pfnInternalFree;
--   } VkAllocationCallbacks;
--   
-- -- VkAllocationCallbacks registry at www.khronos.org type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' type VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION = 3 pattern VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION :: (Num a, Eq a) => a type VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME = "VK_KHR_deferred_host_operations" pattern VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR :: VkStructureType pattern VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR :: VkObjectType pattern VK_THREAD_IDLE_KHR :: VkResult pattern VK_THREAD_DONE_KHR :: VkResult pattern VK_OPERATION_DEFERRED_KHR :: VkResult pattern VK_OPERATION_NOT_DEFERRED_KHR :: VkResult instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDeferredOperationJoinKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeferredOperationResultKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeferredOperationMaxConcurrencyKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDeferredOperationKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDeferredOperationKHR" module Graphics.Vulkan.Ext.VK_EXT_pipeline_creation_feedback -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp pattern VK_BLEND_OP_ADD :: VkBlendOp pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp pattern VK_BLEND_OP_MIN :: VkBlendOp pattern VK_BLEND_OP_MAX :: VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow -- |
--   #ifdef __OBJC__
--   @class CAMetalLayer;
--   #else
--   typedef void CAMetalLayer;
--   #endif
--   
data CAMetalLayer newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceAddress VkDeviceAddress :: Word64 -> VkDeviceAddress newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | Backwards-compatible alias containing a typo pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask (a :: FlagType) pattern VkColorComponentFlagBits :: VkFlags -> VkColorComponentBitmask FlagBit pattern VkColorComponentFlags :: VkFlags -> VkColorComponentBitmask FlagMask -- | bitpos = 0 pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a -- | bitpos = 1 pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a -- | bitpos = 2 pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a -- | bitpos = 3 pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit type VkColorComponentFlags = VkColorComponentBitmask FlagMask -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp pattern VK_COMPARE_OP_NEVER :: VkCompareOp pattern VK_COMPARE_OP_LESS :: VkCompareOp pattern VK_COMPARE_OP_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER :: VkCompareOp pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp -- |
--   typedef struct VkComputePipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       VkPipelineShaderStageCreateInfo stage;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkComputePipelineCreateInfo;
--   
-- -- VkComputePipelineCreateInfo registry at www.khronos.org type VkComputePipelineCreateInfo = VkStruct VkComputePipelineCreateInfo' newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask (a :: FlagType) pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a -- | bitpos = 0 pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a -- | bitpos = 1 pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a type VkCullModeFlagBits = VkCullModeBitmask FlagBit type VkCullModeFlags = VkCullModeBitmask FlagMask -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org type VkExtent2D = VkStruct VkExtent2D' -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat pattern VK_FORMAT_UNDEFINED :: VkFormat pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat pattern VK_FORMAT_R8_UNORM :: VkFormat pattern VK_FORMAT_R8_SNORM :: VkFormat pattern VK_FORMAT_R8_USCALED :: VkFormat pattern VK_FORMAT_R8_SSCALED :: VkFormat pattern VK_FORMAT_R8_UINT :: VkFormat pattern VK_FORMAT_R8_SINT :: VkFormat pattern VK_FORMAT_R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8_UNORM :: VkFormat pattern VK_FORMAT_R8G8_SNORM :: VkFormat pattern VK_FORMAT_R8G8_USCALED :: VkFormat pattern VK_FORMAT_R8G8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8_UINT :: VkFormat pattern VK_FORMAT_R8G8_SINT :: VkFormat pattern VK_FORMAT_R8G8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat pattern VK_FORMAT_R16_UNORM :: VkFormat pattern VK_FORMAT_R16_SNORM :: VkFormat pattern VK_FORMAT_R16_USCALED :: VkFormat pattern VK_FORMAT_R16_SSCALED :: VkFormat pattern VK_FORMAT_R16_UINT :: VkFormat pattern VK_FORMAT_R16_SINT :: VkFormat pattern VK_FORMAT_R16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16_UNORM :: VkFormat pattern VK_FORMAT_R16G16_SNORM :: VkFormat pattern VK_FORMAT_R16G16_USCALED :: VkFormat pattern VK_FORMAT_R16G16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16_UINT :: VkFormat pattern VK_FORMAT_R16G16_SINT :: VkFormat pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat pattern VK_FORMAT_R32_UINT :: VkFormat pattern VK_FORMAT_R32_SINT :: VkFormat pattern VK_FORMAT_R32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32_UINT :: VkFormat pattern VK_FORMAT_R32G32_SINT :: VkFormat pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat pattern VK_FORMAT_R64_UINT :: VkFormat pattern VK_FORMAT_R64_SINT :: VkFormat pattern VK_FORMAT_R64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64_UINT :: VkFormat pattern VK_FORMAT_R64G64_SINT :: VkFormat pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat pattern VK_FORMAT_D16_UNORM :: VkFormat pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat pattern VK_FORMAT_D32_SFLOAT :: VkFormat pattern VK_FORMAT_S8_UINT :: VkFormat pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask (a :: FlagType) pattern VkFormatFeatureFlagBits :: VkFlags -> VkFormatFeatureBitmask FlagBit pattern VkFormatFeatureFlags :: VkFlags -> VkFormatFeatureBitmask FlagMask -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT :: VkFormatFeatureBitmask a -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT :: VkFormatFeatureBitmask a -- | Format can be used for color attachment images -- -- bitpos = 7 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT :: VkFormatFeatureBitmask a -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT :: VkFormatFeatureBitmask a type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace -- |
--   typedef struct VkGraphicsPipelineCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--       const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--       const VkPipelineTessellationStateCreateInfo* pTessellationState;
--       const VkPipelineViewportStateCreateInfo* pViewportState;
--       const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--       const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--       const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--       const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--       const VkPipelineDynamicStateCreateInfo* pDynamicState;
--       VkPipelineLayout       layout;
--       VkRenderPass           renderPass;
--       uint32_t               subpass;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkGraphicsPipelineCreateInfo;
--   
-- -- VkGraphicsPipelineCreateInfo registry at www.khronos.org type VkGraphicsPipelineCreateInfo = VkStruct VkGraphicsPipelineCreateInfo' -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp pattern VK_LOGIC_OP_CLEAR :: VkLogicOp pattern VK_LOGIC_OP_AND :: VkLogicOp pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY :: VkLogicOp pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NO_OP :: VkLogicOp pattern VK_LOGIC_OP_XOR :: VkLogicOp pattern VK_LOGIC_OP_OR :: VkLogicOp pattern VK_LOGIC_OP_NOR :: VkLogicOp pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp pattern VK_LOGIC_OP_INVERT :: VkLogicOp pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp pattern VK_LOGIC_OP_NAND :: VkLogicOp pattern VK_LOGIC_OP_SET :: VkLogicOp -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org type VkOffset2D = VkStruct VkOffset2D' -- |
--   typedef struct VkPipelineColorBlendAttachmentState {
--       VkBool32               blendEnable;
--       VkBlendFactor          srcColorBlendFactor;
--       VkBlendFactor          dstColorBlendFactor;
--       VkBlendOp              colorBlendOp;
--       VkBlendFactor          srcAlphaBlendFactor;
--       VkBlendFactor          dstAlphaBlendFactor;
--       VkBlendOp              alphaBlendOp;
--       VkColorComponentFlags  colorWriteMask;
--   } VkPipelineColorBlendAttachmentState;
--   
-- -- VkPipelineColorBlendAttachmentState registry at www.khronos.org type VkPipelineColorBlendAttachmentState = VkStruct VkPipelineColorBlendAttachmentState' newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkBuildAccelerationStructureFlagsNV VkBuildAccelerationStructureFlagsNV :: VkFlags -> VkBuildAccelerationStructureFlagsNV newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorBindingFlagsEXT VkDescriptorBindingFlagsEXT :: VkFlags -> VkDescriptorBindingFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags newtype VkDirectFBSurfaceCreateFlagsEXT VkDirectFBSurfaceCreateFlagsEXT :: VkFlags -> VkDirectFBSurfaceCreateFlagsEXT newtype VkDisplayModeCreateFlagsKHR VkDisplayModeCreateFlagsKHR :: VkFlags -> VkDisplayModeCreateFlagsKHR newtype VkDisplaySurfaceCreateFlagsKHR VkDisplaySurfaceCreateFlagsKHR :: VkFlags -> VkDisplaySurfaceCreateFlagsKHR newtype VkEventCreateFlags VkEventCreateFlags :: VkFlags -> VkEventCreateFlags newtype VkExternalFenceFeatureFlagsKHR VkExternalFenceFeatureFlagsKHR :: VkFlags -> VkExternalFenceFeatureFlagsKHR newtype VkExternalFenceHandleTypeFlagsKHR VkExternalFenceHandleTypeFlagsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagsKHR newtype VkExternalMemoryFeatureFlagsKHR VkExternalMemoryFeatureFlagsKHR :: VkFlags -> VkExternalMemoryFeatureFlagsKHR newtype VkExternalMemoryHandleTypeFlagsKHR VkExternalMemoryHandleTypeFlagsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagsKHR newtype VkExternalSemaphoreFeatureFlagsKHR VkExternalSemaphoreFeatureFlagsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagsKHR newtype VkExternalSemaphoreHandleTypeFlagsKHR VkExternalSemaphoreHandleTypeFlagsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagsKHR newtype VkFenceImportFlagsKHR VkFenceImportFlagsKHR :: VkFlags -> VkFenceImportFlagsKHR newtype VkGeometryFlagsNV VkGeometryFlagsNV :: VkFlags -> VkGeometryFlagsNV newtype VkGeometryInstanceFlagsNV VkGeometryInstanceFlagsNV :: VkFlags -> VkGeometryInstanceFlagsNV newtype VkHeadlessSurfaceCreateFlagsEXT VkHeadlessSurfaceCreateFlagsEXT :: VkFlags -> VkHeadlessSurfaceCreateFlagsEXT newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImagePipeSurfaceCreateFlagsFUCHSIA VkImagePipeSurfaceCreateFlagsFUCHSIA :: VkFlags -> VkImagePipeSurfaceCreateFlagsFUCHSIA newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMetalSurfaceCreateFlagsEXT VkMetalSurfaceCreateFlagsEXT :: VkFlags -> VkMetalSurfaceCreateFlagsEXT newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV newtype VkPipelineCoverageReductionStateCreateFlagsNV VkPipelineCoverageReductionStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageReductionStateCreateFlagsNV newtype VkPipelineCoverageToColorStateCreateFlagsNV VkPipelineCoverageToColorStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageToColorStateCreateFlagsNV newtype VkPipelineDepthStencilStateCreateFlags VkPipelineDepthStencilStateCreateFlags :: VkFlags -> VkPipelineDepthStencilStateCreateFlags newtype VkPipelineDiscardRectangleStateCreateFlagsEXT VkPipelineDiscardRectangleStateCreateFlagsEXT :: VkFlags -> VkPipelineDiscardRectangleStateCreateFlagsEXT newtype VkPipelineDynamicStateCreateFlags VkPipelineDynamicStateCreateFlags :: VkFlags -> VkPipelineDynamicStateCreateFlags newtype VkPipelineInputAssemblyStateCreateFlags VkPipelineInputAssemblyStateCreateFlags :: VkFlags -> VkPipelineInputAssemblyStateCreateFlags newtype VkPipelineLayoutCreateFlags VkPipelineLayoutCreateFlags :: VkFlags -> VkPipelineLayoutCreateFlags newtype VkPipelineMultisampleStateCreateFlags VkPipelineMultisampleStateCreateFlags :: VkFlags -> VkPipelineMultisampleStateCreateFlags newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT VkPipelineRasterizationConservativeStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationConservativeStateCreateFlagsEXT newtype VkPipelineRasterizationDepthClipStateCreateFlagsEXT VkPipelineRasterizationDepthClipStateCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationDepthClipStateCreateFlagsEXT newtype VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineRasterizationStateStreamCreateFlagsEXT VkPipelineRasterizationStateStreamCreateFlagsEXT :: VkFlags -> VkPipelineRasterizationStateStreamCreateFlagsEXT newtype VkPipelineTessellationStateCreateFlags VkPipelineTessellationStateCreateFlags :: VkFlags -> VkPipelineTessellationStateCreateFlags newtype VkPipelineVertexInputStateCreateFlags VkPipelineVertexInputStateCreateFlags :: VkFlags -> VkPipelineVertexInputStateCreateFlags newtype VkPipelineViewportStateCreateFlags VkPipelineViewportStateCreateFlags :: VkFlags -> VkPipelineViewportStateCreateFlags newtype VkPipelineViewportSwizzleStateCreateFlagsNV VkPipelineViewportSwizzleStateCreateFlagsNV :: VkFlags -> VkPipelineViewportSwizzleStateCreateFlagsNV newtype VkQueryPoolCreateFlags VkQueryPoolCreateFlags :: VkFlags -> VkQueryPoolCreateFlags newtype VkResolveModeFlagsKHR VkResolveModeFlagsKHR :: VkFlags -> VkResolveModeFlagsKHR newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkSemaphoreWaitFlagsKHR VkSemaphoreWaitFlagsKHR :: VkFlags -> VkSemaphoreWaitFlagsKHR newtype VkStreamDescriptorSurfaceCreateFlagsGGP VkStreamDescriptorSurfaceCreateFlagsGGP :: VkFlags -> VkStreamDescriptorSurfaceCreateFlagsGGP newtype VkValidationCacheCreateFlagsEXT VkValidationCacheCreateFlagsEXT :: VkFlags -> VkValidationCacheCreateFlagsEXT newtype VkViSurfaceCreateFlagsNN VkViSurfaceCreateFlagsNN :: VkFlags -> VkViSurfaceCreateFlagsNN newtype VkWaylandSurfaceCreateFlagsKHR VkWaylandSurfaceCreateFlagsKHR :: VkFlags -> VkWaylandSurfaceCreateFlagsKHR newtype VkWin32SurfaceCreateFlagsKHR VkWin32SurfaceCreateFlagsKHR :: VkFlags -> VkWin32SurfaceCreateFlagsKHR newtype VkXcbSurfaceCreateFlagsKHR VkXcbSurfaceCreateFlagsKHR :: VkFlags -> VkXcbSurfaceCreateFlagsKHR newtype VkXlibSurfaceCreateFlagsKHR VkXlibSurfaceCreateFlagsKHR :: VkFlags -> VkXlibSurfaceCreateFlagsKHR -- |
--   typedef struct VkPipelineColorBlendStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineColorBlendStateCreateFlags    flags;
--       VkBool32               logicOpEnable;
--       VkLogicOp              logicOp;
--       uint32_t               attachmentCount;
--       const VkPipelineColorBlendAttachmentState* pAttachments;
--       float                  blendConstants[4];
--   } VkPipelineColorBlendStateCreateInfo;
--   
-- -- VkPipelineColorBlendStateCreateInfo registry at www.khronos.org type VkPipelineColorBlendStateCreateInfo = VkStruct VkPipelineColorBlendStateCreateInfo' -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE :: VkPipelineCacheHeaderVersion newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask (a :: FlagType) pattern VkPipelineCreateFlagBits :: VkFlags -> VkPipelineCreateBitmask FlagBit pattern VkPipelineCreateFlags :: VkFlags -> VkPipelineCreateBitmask FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: VkPipelineCreateBitmask a -- | bitpos = 1 pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: VkPipelineCreateBitmask a -- | bitpos = 2 pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT :: VkPipelineCreateBitmask a newtype VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) VkPipelineCreationFeedbackBitmaskEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT (a :: FlagType) pattern VkPipelineCreationFeedbackFlagBitsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagBit pattern VkPipelineCreationFeedbackFlagsEXT :: VkFlags -> VkPipelineCreationFeedbackBitmaskEXT FlagMask -- | bitpos = 0 pattern VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 1 pattern VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | bitpos = 2 pattern VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: VkPipelineCreationFeedbackBitmaskEXT a -- | type = enum -- -- VkPipelineExecutableStatisticFormatKHR registry at -- www.khronos.org newtype VkPipelineExecutableStatisticFormatKHR VkPipelineExecutableStatisticFormatKHR :: Int32 -> VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR :: VkPipelineExecutableStatisticFormatKHR pattern VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR :: VkPipelineExecutableStatisticFormatKHR newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask (a :: FlagType) pattern VkPipelineStageFlagBits :: VkFlags -> VkPipelineStageBitmask FlagBit pattern VkPipelineStageFlags :: VkFlags -> VkPipelineStageBitmask FlagMask -- | Before subsequent commands are processed -- -- bitpos = 0 pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT :: VkPipelineStageBitmask a -- | Vertex/index fetch -- -- bitpos = 2 pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT :: VkPipelineStageBitmask a -- | Vertex shading -- -- bitpos = 3 pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation control shading -- -- bitpos = 4 pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: VkPipelineStageBitmask a -- | Tessellation evaluation shading -- -- bitpos = 5 pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: VkPipelineStageBitmask a -- | Geometry shading -- -- bitpos = 6 pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT :: VkPipelineStageBitmask a -- | Fragment shading -- -- bitpos = 7 pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT :: VkPipelineStageBitmask a -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: VkPipelineStageBitmask a -- | Color attachment writes -- -- bitpos = 10 pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: VkPipelineStageBitmask a -- | Compute shading -- -- bitpos = 11 pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT :: VkPipelineStageBitmask a -- | Transfer/copy operations -- -- bitpos = 12 pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a -- | After previous commands have completed -- -- bitpos = 13 pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: VkPipelineStageBitmask a -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a -- | All stages of the graphics pipeline -- -- bitpos = 15 pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT :: VkPipelineStageBitmask a -- | All stages supported on the queue -- -- bitpos = 16 pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT :: VkPipelineStageBitmask a newtype VkPipelineCacheCreateBitmask (a :: FlagType) VkPipelineCacheCreateBitmask :: VkFlags -> VkPipelineCacheCreateBitmask (a :: FlagType) pattern VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateBitmask FlagBit pattern VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateBitmask FlagMask type VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateBitmask FlagBit type VkPipelineCacheCreateFlags = VkPipelineCacheCreateBitmask FlagMask newtype VkPipelineCompilerControlBitmaskAMD (a :: FlagType) VkPipelineCompilerControlBitmaskAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD (a :: FlagType) pattern VkPipelineCompilerControlFlagBitsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagBit pattern VkPipelineCompilerControlFlagsAMD :: VkFlags -> VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCompilerControlFlagBitsAMD = VkPipelineCompilerControlBitmaskAMD FlagBit type VkPipelineCompilerControlFlagsAMD = VkPipelineCompilerControlBitmaskAMD FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagBit type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackBitmaskEXT FlagMask newtype VkPipelineShaderStageCreateBitmask (a :: FlagType) VkPipelineShaderStageCreateBitmask :: VkFlags -> VkPipelineShaderStageCreateBitmask (a :: FlagType) pattern VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagBit pattern VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateBitmask FlagBit type VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask -- |
--   typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkPipelineCreationFeedbackEXT*      pPipelineCreationFeedback;
--       uint32_t                            pipelineStageCreationFeedbackCount;
--       VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
--   } VkPipelineCreationFeedbackCreateInfoEXT;
--   
-- -- VkPipelineCreationFeedbackCreateInfoEXT registry at -- www.khronos.org type VkPipelineCreationFeedbackCreateInfoEXT = VkStruct VkPipelineCreationFeedbackCreateInfoEXT' -- |
--   typedef struct VkPipelineCreationFeedbackEXT {
--       VkPipelineCreationFeedbackFlagsEXT  flags;
--       uint64_t                            duration;
--   } VkPipelineCreationFeedbackEXT;
--   
-- -- VkPipelineCreationFeedbackEXT registry at www.khronos.org type VkPipelineCreationFeedbackEXT = VkStruct VkPipelineCreationFeedbackEXT' -- |
--   typedef struct VkPipelineDepthStencilStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDepthStencilStateCreateFlags    flags;
--       VkBool32               depthTestEnable;
--       VkBool32               depthWriteEnable;
--       VkCompareOp            depthCompareOp;
--       VkBool32               depthBoundsTestEnable;
--       VkBool32               stencilTestEnable;
--       VkStencilOpState       front;
--       VkStencilOpState       back;
--       float                  minDepthBounds;
--       float                  maxDepthBounds;
--   } VkPipelineDepthStencilStateCreateInfo;
--   
-- -- VkPipelineDepthStencilStateCreateInfo registry at -- www.khronos.org type VkPipelineDepthStencilStateCreateInfo = VkStruct VkPipelineDepthStencilStateCreateInfo' -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org type VkPipelineDynamicStateCreateInfo = VkStruct VkPipelineDynamicStateCreateInfo' -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org type VkPipelineInputAssemblyStateCreateInfo = VkStruct VkPipelineInputAssemblyStateCreateInfo' -- |
--   typedef struct VkPipelineLibraryCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                               libraryCount;
--       const VkPipeline*                   pLibraries;
--   } VkPipelineLibraryCreateInfoKHR;
--   
-- -- VkPipelineLibraryCreateInfoKHR registry at www.khronos.org type VkPipelineLibraryCreateInfoKHR = VkStruct VkPipelineLibraryCreateInfoKHR' -- |
--   typedef struct VkRayTracingPipelineCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       uint32_t groupCount;
--       const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
--       uint32_t               maxRecursionDepth;
--       VkPipelineLibraryCreateInfoKHR libraries;
--       const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkRayTracingPipelineCreateInfoKHR;
--   
-- -- VkRayTracingPipelineCreateInfoKHR registry at www.khronos.org type VkRayTracingPipelineCreateInfoKHR = VkStruct VkRayTracingPipelineCreateInfoKHR' -- |
--   typedef struct VkRayTracingPipelineCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCreateFlags  flags;
--       uint32_t               stageCount;
--       const VkPipelineShaderStageCreateInfo* pStages;
--       uint32_t               groupCount;
--       const VkRayTracingShaderGroupCreateInfoNV* pGroups;
--       uint32_t               maxRecursionDepth;
--       VkPipelineLayout       layout;
--       VkPipeline      basePipelineHandle;
--       int32_t                basePipelineIndex;
--   } VkRayTracingPipelineCreateInfoNV;
--   
-- -- VkRayTracingPipelineCreateInfoNV registry at www.khronos.org type VkRayTracingPipelineCreateInfoNV = VkStruct VkRayTracingPipelineCreateInfoNV' -- |
--   typedef struct VkRayTracingShaderGroupCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRayTracingShaderGroupTypeKHR type;
--       uint32_t               generalShader;
--       uint32_t               closestHitShader;
--       uint32_t               anyHitShader;
--       uint32_t               intersectionShader;
--       const void* pShaderGroupCaptureReplayHandle;
--   } VkRayTracingShaderGroupCreateInfoKHR;
--   
-- -- VkRayTracingShaderGroupCreateInfoKHR registry at -- www.khronos.org type VkRayTracingShaderGroupCreateInfoKHR = VkStruct VkRayTracingShaderGroupCreateInfoKHR' -- |
--   typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
--       VkStructureType sType;
--       const void*                                            pNext;
--       uint32_t                                               maxPayloadSize;
--       uint32_t                                               maxAttributeSize;
--       uint32_t                                               maxCallableSize;
--   } VkRayTracingPipelineInterfaceCreateInfoKHR;
--   
-- -- VkRayTracingPipelineInterfaceCreateInfoKHR registry at -- www.khronos.org type VkRayTracingPipelineInterfaceCreateInfoKHR = VkStruct VkRayTracingPipelineInterfaceCreateInfoKHR' -- |
--   typedef struct VkRayTracingShaderGroupCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkRayTracingShaderGroupTypeKHR type;
--       uint32_t               generalShader;
--       uint32_t               closestHitShader;
--       uint32_t               anyHitShader;
--       uint32_t               intersectionShader;
--   } VkRayTracingShaderGroupCreateInfoNV;
--   
-- -- VkRayTracingShaderGroupCreateInfoNV registry at www.khronos.org type VkRayTracingShaderGroupCreateInfoNV = VkStruct VkRayTracingShaderGroupCreateInfoNV' -- |
--   typedef struct VkPipelineMultisampleStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineMultisampleStateCreateFlags    flags;
--       VkSampleCountFlagBits  rasterizationSamples;
--       VkBool32               sampleShadingEnable;
--       float                  minSampleShading;
--       const VkSampleMask*    pSampleMask;
--       VkBool32               alphaToCoverageEnable;
--       VkBool32               alphaToOneEnable;
--   } VkPipelineMultisampleStateCreateInfo;
--   
-- -- VkPipelineMultisampleStateCreateInfo registry at -- www.khronos.org type VkPipelineMultisampleStateCreateInfo = VkStruct VkPipelineMultisampleStateCreateInfo' -- |
--   typedef struct VkPipelineRasterizationStateCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkPipelineRasterizationStateCreateFlags    flags;
--       VkBool32               depthClampEnable;
--       VkBool32               rasterizerDiscardEnable;
--       VkPolygonMode          polygonMode;
--       VkCullModeFlags        cullMode;
--       VkFrontFace            frontFace;
--       VkBool32               depthBiasEnable;
--       float                  depthBiasConstantFactor;
--       float                  depthBiasClamp;
--       float                  depthBiasSlopeFactor;
--       float                  lineWidth;
--   } VkPipelineRasterizationStateCreateInfo;
--   
-- -- VkPipelineRasterizationStateCreateInfo registry at -- www.khronos.org type VkPipelineRasterizationStateCreateInfo = VkStruct VkPipelineRasterizationStateCreateInfo' -- |
--   typedef struct VkPipelineShaderStageCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineShaderStageCreateFlags    flags;
--       VkShaderStageFlagBits  stage;
--       VkShaderModule         module;
--       const char*            pName;
--       const VkSpecializationInfo* pSpecializationInfo;
--   } VkPipelineShaderStageCreateInfo;
--   
-- -- VkPipelineShaderStageCreateInfo registry at www.khronos.org type VkPipelineShaderStageCreateInfo = VkStruct VkPipelineShaderStageCreateInfo' -- |
--   typedef struct VkPipelineTessellationStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineTessellationStateCreateFlags    flags;
--       uint32_t               patchControlPoints;
--   } VkPipelineTessellationStateCreateInfo;
--   
-- -- VkPipelineTessellationStateCreateInfo registry at -- www.khronos.org type VkPipelineTessellationStateCreateInfo = VkStruct VkPipelineTessellationStateCreateInfo' -- |
--   typedef struct VkPipelineVertexInputStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineVertexInputStateCreateFlags    flags;
--       uint32_t               vertexBindingDescriptionCount;
--       const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--       uint32_t               vertexAttributeDescriptionCount;
--       const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   } VkPipelineVertexInputStateCreateInfo;
--   
-- -- VkPipelineVertexInputStateCreateInfo registry at -- www.khronos.org type VkPipelineVertexInputStateCreateInfo = VkStruct VkPipelineVertexInputStateCreateInfo' -- |
--   typedef struct VkPipelineViewportStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportStateCreateFlags    flags;
--       uint32_t               viewportCount;
--       const VkViewport*      pViewports;
--       uint32_t               scissorCount;
--       const VkRect2D*        pScissors;
--   } VkPipelineViewportStateCreateInfo;
--   
-- -- VkPipelineViewportStateCreateInfo registry at www.khronos.org type VkPipelineViewportStateCreateInfo = VkStruct VkPipelineViewportStateCreateInfo' -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode pattern VK_POLYGON_MODE_FILL :: VkPolygonMode pattern VK_POLYGON_MODE_LINE :: VkPolygonMode pattern VK_POLYGON_MODE_POINT :: VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: VkPrimitiveTopology pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology -- | type = enum -- -- VkRayTracingShaderGroupTypeKHR registry at www.khronos.org newtype VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeKHR :: Int32 -> VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR pattern VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR :: VkRayTracingShaderGroupTypeKHR newtype VkRayTracingShaderGroupTypeNV VkRayTracingShaderGroupTypeNV :: VkFlags -> VkRayTracingShaderGroupTypeNV -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org type VkRect2D = VkStruct VkRect2D' newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask (a :: FlagType) pattern VkSampleCountFlagBits :: VkFlags -> VkSampleCountBitmask FlagBit pattern VkSampleCountFlags :: VkFlags -> VkSampleCountBitmask FlagMask -- | Sample count 1 supported -- -- bitpos = 0 pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a -- | Sample count 2 supported -- -- bitpos = 1 pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a -- | Sample count 4 supported -- -- bitpos = 2 pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a -- | Sample count 8 supported -- -- bitpos = 3 pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a -- | Sample count 16 supported -- -- bitpos = 4 pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a -- | Sample count 32 supported -- -- bitpos = 5 pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a -- | Sample count 64 supported -- -- bitpos = 6 pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit type VkSampleCountFlags = VkSampleCountBitmask FlagMask -- | type = enum -- -- VkShaderFloatControlsIndependence registry at www.khronos.org newtype VkShaderFloatControlsIndependence VkShaderFloatControlsIndependence :: Int32 -> VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask (a :: FlagType) pattern VkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit pattern VkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask -- | bitpos = 0 pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a -- | bitpos = 1 pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a -- | bitpos = 2 pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a -- | bitpos = 3 pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a -- | bitpos = 4 pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a -- | bitpos = 5 pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a newtype VkShaderCorePropertiesBitmaskAMD (a :: FlagType) VkShaderCorePropertiesBitmaskAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD (a :: FlagType) pattern VkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit pattern VkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask type VkShaderCorePropertiesFlagBitsAMD = VkShaderCorePropertiesBitmaskAMD FlagBit type VkShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesBitmaskAMD FlagMask newtype VkShaderFloatControlsIndependenceKHR VkShaderFloatControlsIndependenceKHR :: VkFlags -> VkShaderFloatControlsIndependenceKHR newtype VkShaderModuleCreateBitmask (a :: FlagType) VkShaderModuleCreateBitmask :: VkFlags -> VkShaderModuleCreateBitmask (a :: FlagType) pattern VkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit pattern VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask type VkShaderModuleCreateFlagBits = VkShaderModuleCreateBitmask FlagBit type VkShaderModuleCreateFlags = VkShaderModuleCreateBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit type VkShaderStageFlags = VkShaderStageBitmask FlagMask -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t                     constantID;
--       uint32_t                     offset;
--       size_t size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask (a :: FlagType) pattern VkStencilFaceFlagBits :: VkFlags -> VkStencilFaceBitmask FlagBit pattern VkStencilFaceFlags :: VkFlags -> VkStencilFaceBitmask FlagMask -- | Front face -- -- bitpos = 0 pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a -- | Back face -- -- bitpos = 1 pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a -- | Front and back faces pattern VK_STENCIL_FACE_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | Alias for backwards compatibility pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp pattern VK_STENCIL_OP_KEEP :: VkStencilOp pattern VK_STENCIL_OP_ZERO :: VkStencilOp pattern VK_STENCIL_OP_REPLACE :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp pattern VK_STENCIL_OP_INVERT :: VkStencilOp pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask -- |
--   typedef struct VkStencilOpState {
--       VkStencilOp            failOp;
--       VkStencilOp            passOp;
--       VkStencilOp            depthFailOp;
--       VkCompareOp            compareOp;
--       uint32_t               compareMask;
--       uint32_t               writeMask;
--       uint32_t               reference;
--   } VkStencilOpState;
--   
-- -- VkStencilOpState registry at www.khronos.org type VkStencilOpState = VkStruct VkStencilOpState' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org type VkVertexInputAttributeDescription = VkStruct VkVertexInputAttributeDescription' -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org type VkVertexInputBindingDescription = VkStruct VkVertexInputBindingDescription' -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate -- |
--   typedef struct VkViewport {
--       float x;
--       float y;
--       float width;
--       float height;
--       float                       minDepth;
--       float                       maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org type VkViewport = VkStruct VkViewport' type VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION = 1 pattern VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback" pattern VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: VkStructureType module Graphics.Vulkan.Ext.VK_EXT_hdr_metadata -- |
--   typedef struct VkHdrMetadataEXT {
--       VkStructureType sType;
--       const void*    pNext;
--       VkXYColorEXT   displayPrimaryRed;
--       VkXYColorEXT   displayPrimaryGreen;
--       VkXYColorEXT   displayPrimaryBlue;
--       VkXYColorEXT   whitePoint;
--       float          maxLuminance;
--       float          minLuminance;
--       float          maxContentLightLevel;
--       float          maxFrameAverageLightLevel;
--   } VkHdrMetadataEXT;
--   
-- -- VkHdrMetadataEXT registry at www.khronos.org type VkHdrMetadataEXT = VkStruct VkHdrMetadataEXT' -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType -- | Chromaticity coordinate -- --
--   typedef struct VkXYColorEXT {
--       float   x;
--       float   y;
--   } VkXYColorEXT;
--   
-- -- VkXYColorEXT registry at www.khronos.org type VkXYColorEXT = VkStruct VkXYColorEXT' type VkSetHdrMetadataEXT = "vkSetHdrMetadataEXT" pattern VkSetHdrMetadataEXT :: CString -- |
--   void vkSetHdrMetadataEXT
--       ( VkDevice device
--       , uint32_t swapchainCount
--       , const VkSwapchainKHR* pSwapchains
--       , const VkHdrMetadataEXT* pMetadata
--       )
--   
-- -- vkSetHdrMetadataEXT registry at www.khronos.org type HS_vkSetHdrMetadataEXT = VkDevice " device" -> Word32 " swapchainCount" -> Ptr VkSwapchainKHR " pSwapchains" -> Ptr VkHdrMetadataEXT " pMetadata" -> IO () type PFN_vkSetHdrMetadataEXT = FunPtr HS_vkSetHdrMetadataEXT type VkAccelerationStructureKHR = VkPtr VkAccelerationStructureKHR_T -- | Opaque data type referenced by VkAccelerationStructureKHR data VkAccelerationStructureKHR_T type VkAccelerationStructureNV = VkPtr VkAccelerationStructureNV_T -- | Opaque data type referenced by VkAccelerationStructureNV data VkAccelerationStructureNV_T type VkBuffer = VkPtr VkBuffer_T type VkBufferView = VkPtr VkBufferView_T -- | Opaque data type referenced by VkBufferView data VkBufferView_T -- | Opaque data type referenced by VkBuffer data VkBuffer_T type VkCommandBuffer = Ptr VkCommandBuffer_T -- | Opaque data type referenced by VkCommandBuffer data VkCommandBuffer_T type VkCommandPool = VkPtr VkCommandPool_T -- | Opaque data type referenced by VkCommandPool data VkCommandPool_T type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T -- | Opaque data type referenced by VkDebugUtilsMessengerEXT data VkDebugUtilsMessengerEXT_T type VkDeferredOperationKHR = VkPtr VkDeferredOperationKHR_T -- | Opaque data type referenced by VkDeferredOperationKHR data VkDeferredOperationKHR_T type VkDescriptorPool = VkPtr VkDescriptorPool_T -- | Opaque data type referenced by VkDescriptorPool data VkDescriptorPool_T type VkDescriptorSet = VkPtr VkDescriptorSet_T type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T -- | Opaque data type referenced by VkDescriptorSet data VkDescriptorSet_T type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR data VkDescriptorUpdateTemplateKHR_T -- | Opaque data type referenced by VkDescriptorUpdateTemplate data VkDescriptorUpdateTemplate_T type VkDevice = Ptr VkDevice_T type VkDeviceMemory = VkPtr VkDeviceMemory_T -- | Opaque data type referenced by VkDeviceMemory data VkDeviceMemory_T -- | Opaque data type referenced by VkDevice data VkDevice_T type VkDisplayKHR = VkPtr VkDisplayKHR_T -- | Opaque data type referenced by VkDisplayKHR data VkDisplayKHR_T type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T -- | Opaque data type referenced by VkDisplayModeKHR data VkDisplayModeKHR_T type VkEvent = VkPtr VkEvent_T -- | Opaque data type referenced by VkEvent data VkEvent_T type VkFence = VkPtr VkFence_T -- | Opaque data type referenced by VkFence data VkFence_T type VkFramebuffer = VkPtr VkFramebuffer_T -- | Opaque data type referenced by VkFramebuffer data VkFramebuffer_T type VkImage = VkPtr VkImage_T type VkImageView = VkPtr VkImageView_T -- | Opaque data type referenced by VkImageView data VkImageView_T -- | Opaque data type referenced by VkImage data VkImage_T type VkIndirectCommandsLayoutNV = VkPtr VkIndirectCommandsLayoutNV_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNV data VkIndirectCommandsLayoutNV_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkPerformanceConfigurationINTEL = VkPtr VkPerformanceConfigurationINTEL_T -- | Opaque data type referenced by VkPerformanceConfigurationINTEL data VkPerformanceConfigurationINTEL_T type VkPhysicalDevice = Ptr VkPhysicalDevice_T -- | Opaque data type referenced by VkPhysicalDevice data VkPhysicalDevice_T type VkPipeline = VkPtr VkPipeline_T type VkPipelineCache = VkPtr VkPipelineCache_T -- | Opaque data type referenced by VkPipelineCache data VkPipelineCache_T type VkPipelineLayout = VkPtr VkPipelineLayout_T -- | Opaque data type referenced by VkPipelineLayout data VkPipelineLayout_T -- | Opaque data type referenced by VkPipeline data VkPipeline_T type VkPrivateDataSlotEXT = VkPtr VkPrivateDataSlotEXT_T -- | Opaque data type referenced by VkPrivateDataSlotEXT data VkPrivateDataSlotEXT_T type VkQueryPool = VkPtr VkQueryPool_T -- | Opaque data type referenced by VkQueryPool data VkQueryPool_T type VkQueue = Ptr VkQueue_T -- | Opaque data type referenced by VkQueue data VkQueue_T type VkRenderPass = VkPtr VkRenderPass_T -- | Opaque data type referenced by VkRenderPass data VkRenderPass_T type VkSampler = VkPtr VkSampler_T type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversionKHR data VkSamplerYcbcrConversionKHR_T -- | Opaque data type referenced by VkSamplerYcbcrConversion data VkSamplerYcbcrConversion_T -- | Opaque data type referenced by VkSampler data VkSampler_T type VkSemaphore = VkPtr VkSemaphore_T -- | Opaque data type referenced by VkSemaphore data VkSemaphore_T type VkShaderModule = VkPtr VkShaderModule_T -- | Opaque data type referenced by VkShaderModule data VkShaderModule_T type VkSurfaceKHR = VkPtr VkSurfaceKHR_T -- | Opaque data type referenced by VkSurfaceKHR data VkSurfaceKHR_T type VkSwapchainKHR = VkPtr VkSwapchainKHR_T -- | Opaque data type referenced by VkSwapchainKHR data VkSwapchainKHR_T type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T -- | Opaque data type referenced by VkValidationCacheEXT data VkValidationCacheEXT_T type VK_EXT_HDR_METADATA_SPEC_VERSION = 2 pattern VK_EXT_HDR_METADATA_SPEC_VERSION :: (Num a, Eq a) => a type VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata" pattern VK_EXT_HDR_METADATA_EXTENSION_NAME :: CString pattern VK_STRUCTURE_TYPE_HDR_METADATA_EXT :: VkStructureType instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetHdrMetadataEXT" module Graphics.Vulkan.Ext